一、抽象類使用場景
如果你想設計這樣一個類,該類包含一個特別的成員方法,該方法的具體實現由它的子類確定,那么你可以在父類中聲明該方法為抽象方法。
Abstract關鍵字同樣可以用來聲明抽象方法,抽象方法只包含一個方法名,而沒有方法體。
抽象方法沒有定義,方法名后面直接跟一個分號,而不是花括號。
二、抽象類總結規定
1. 抽象類不能被實例化(初學者很容易犯的錯),如果被實例化,就會報錯,編譯無法通過。只有抽象類的非抽象子類可以創建對象。
2. 抽象類中不一定包含抽象方法,但是有抽象方法的類必定是抽象類。
3. 抽象類中的抽象方法只是聲明,不包含方法體,就是不給出方法的具體實現也就是方法的具體功能。
4. 構造方法,類方法(用static修飾的方法)不能聲明為抽象方法。
5. 抽象類的子類必須給出抽象類中的抽象方法的具體實現,除非該子類也是抽象類。
代碼:package test.abstracttest;public abstract class AbstractTest {PRivate String name;private String address;private int number;// public abstract AbstractTest(){// // } public abstract double computePay();public int age(){return number;};}class test1{//abstract void test(); 報錯 Make type 'Test' abstract}=====================================package test.abstracttest;public class AbstractTestChildren extends AbstractTest {@Overridepublic double computePay() {// TODO Auto-generated method stubreturn 0;}}================================package test;import test.abstracttest.AbstractTest;public class Main {public static void main(String[] args) {//AbstractTest a = new AbstractTest();報錯,不能實例化}}三、接口新聞熱點
疑難解答