一、抽象類
1糟秘、抽象類不能被實(shí)例化简逮,實(shí)例化的工作應(yīng)該交由它的子類來完成,它只需要有一個(gè)引用即可尿赚。
2散庶、抽象方法必須由子類來進(jìn)行重寫沛婴。
3、只要包含一個(gè)抽象方法的抽象類督赤,該方法必須要定義成抽象類,不管是否還包含有其他方法泻蚊。
4躲舌、抽象類中可以包含具體的方法,當(dāng)然也可以不包含抽象方法性雄。
5没卸、子類中的抽象方法不能與父類的抽象方法同名。
6秒旋、abstract不能與final并列修飾同一個(gè)類约计。
7、abstract 不能與private迁筛、static煤蚌、final或native并列修飾同一個(gè)方法。
二细卧、接口
1尉桩、個(gè)Interface的方所有法訪問權(quán)限自動(dòng)被聲明為public。確切的說只能為public贪庙,當(dāng)然你可以顯示的聲明為protected蜘犁、private,但是編譯會(huì)出錯(cuò)止邮!
2这橙、接口中可以定義“成員變量”,或者說是不可變的常量导披,因?yàn)榻涌谥械摹俺蓡T變量”會(huì)自動(dòng)變?yōu)闉閜ublic static final屈扎。可以通過類命名直接訪問:ImplementClass.name撩匕。
3助隧、接口中不存在實(shí)現(xiàn)的方法。
4滑沧、實(shí)現(xiàn)接口的非抽象類必須要實(shí)現(xiàn)該接口的所有方法并村。抽象類可以不用實(shí)現(xiàn)。
5滓技、不能使用new操作符實(shí)例化一個(gè)接口哩牍,但可以聲明一個(gè)接口變量,該變量必須引用(refer to)一個(gè)實(shí)現(xiàn)該接口的類的對(duì)象令漂∠ダィ可以使用 instanceof 檢查一個(gè)對(duì)象是否實(shí)現(xiàn)了某個(gè)特定的接口丸边。例如:if(anObject instanceof Comparable){}。
6荚孵、在實(shí)現(xiàn)多接口的時(shí)候一定要避免方法名的重復(fù)妹窖。
** 在java8中 接口中出現(xiàn)關(guān)鍵字default **