抽象類
- 1 使用abstract修飾class的類察绷,叫做抽象類扛点。
- 2 抽象類不能被實例化及刻。即不能被new出來。
抽象方法
- 1 使用abstract修飾method的方法卿樱,叫做抽象方法僚害。
- 2 抽象方法只允許被申明,不能有具體實現(xiàn)繁调。
例如:
public abstract void test(String arg);
即抽象方法不能有{}萨蚕,即使{}里面是空,都不允許蹄胰。
- 3 抽象方法只能申明(定義)在抽象類里面岳遥。
- 4 抽象類里面不一定非得有抽象方法。
抽象類作為父類
- 1 抽象類的子類裕寨,必須覆蓋(重寫)抽象類中所有抽象方法浩蓉。
- 2 如果抽象類的子類沒有覆蓋(重寫)抽象類中的抽象方法,則子類必須也定義為一個抽象類宾袜。
- 3 只有定義沒有實現(xiàn)的抽象方法捻艳,其實是在定義一種方法規(guī)范,供不同的子類來實現(xiàn)不同的具體邏輯庆猫。
接口(Interface)
- 1 使用inteface關鍵字定義接口
- 2 接口中的所有方法都抽象方法认轨,可以使用abstract所修飾,不過默認可以省略abstract
- 3 接口同樣不能被實例化月培,即同樣不能被new出來好渠。
- 4 接口需要被實現(xiàn)(implements)昨稼,實現(xiàn)了接口的類可以被實例化
- 5 接口的子類必須實現(xiàn)接口中的所有方法。
- 6 如果是抽象類implements接口拳锚,則該抽象類子類可以不實現(xiàn)接口中的方法假栓。
- 7 一個類可以implements多個接口,但是一個類只能繼承一個父類霍掺。
- 8 接口可以繼承另一個接口
- 9 多態(tài)在接口中的體現(xiàn)匾荆,接口類型的引用可以指向該接口子類的對象,其方法調用也是動態(tài)綁定的杆烁。
- 10 接口中可以定義成員變量牙丽,且默認被public static final所修飾