抽象類
1、抽象類不能被實例化黄橘,實例化的工作應(yīng)該交由它的子類來完成兆览,它只需要有一個引用即可。
2塞关、抽象方法必須由子類來進(jìn)行重寫抬探。
3、只要包含一個抽象方法的抽象類帆赢,該方法必須要定義成抽象類小压,不管是否還包含有其他方法。
4椰于、抽象類中可以包含具體的方法怠益,當(dāng)然也可以不包含抽象方法。
5瘾婿、子類中的抽象方法不能與父類的抽象方法同名蜻牢。
6、abstract不能與final并列修飾同一個類偏陪。
7抢呆、abstract 不能與private、static笛谦、final或native并列修飾同一個方法抱虐。
接口
1、Interface的所有方法訪問權(quán)限自動被聲明為public饥脑。確切的說只能為public梯码,當(dāng)然你可以顯示的聲明為protected、private好啰,但是編譯會出錯!
2儿奶、接口中可以定義“成員變量”框往,或者說是不可變的常量,因為接口中的“成員變量”會自動變?yōu)闉閜ublic static final闯捎∫祝可以通過類命名直接訪問:ImplementClass.name。
3瓤鼻、接口中不存在實現(xiàn)的方法秉版。
4、實現(xiàn)接口的非抽象類必須要實現(xiàn)該接口的所有方法茬祷。抽象類可以不用實現(xiàn)清焕。
5、不能使用new操作符實例化一個接口,但可以聲明一個接口變量秸妥,該變量必須引用(refer to)一個實現(xiàn)該接口的類的對象滚停。可以使用 instanceof 檢查一個對象是否實現(xiàn)了某個特定的接口粥惧。例如:if(anObject instanceof Comparable){}键畴。
6、在實現(xiàn)多接口的時候一定要避免方法名的重復(fù)突雪。