1. 方法在本類中不實現,而是在子類中實現的方法,可以在該方法和類的宣告中加入abstract修飾符,將該方法和類標記為抽象的
2. 包含乙個抽象方法的類必須定義為抽象類
3. 抽象類和抽象方法都要使用abstract關鍵字宣告
4. 抽象方法只需要宣告而不需要實現
5. 抽象類必須被子類繼承,子類(如果不是抽象類)必須覆寫抽象類中的全部抽象方法
6. 構造方法、靜態方法、私有方法、final方法不能被宣告為抽象方法
public abstract class abstract ;
public abstract void test2();
public abstract void test3();
}class abstract1 extends abstract
@override
public void test3()
}abstract class abtract2 extends abstract
}class abtract extends abtract2
}
7. 抽象類中允許存在構造方法,且子類物件例項化之前同樣會預設呼叫父類中的無參構造
1. 類似於類,是純抽象類,不規定其實現,由全域性常量和公共的抽象方法組成,也就是說介面中的所有方法都是抽象的,必須定義為public,即使不寫也是public訪問許可權
2. 類只能繼承乙個父類,卻可以實現多個介面
3. 介面可以繼承另外的介面(可以不止乙個)
1. 在乙個類或方法中定義另外乙個類,這個類就叫做內部類或內建類,內部類物件可以隨意的訪問外部類中所有的成員
2. 在方法中定義的內部類,如果要訪問方法中定義的本地變數或方法的引數,則變數必須被宣告final
3. 內部類可以宣告為private或protected,也宣告為abstract或final;
但如果宣告為static的,就不能再使用外部類的非static的成員變數和非static的成員方法
4. 在外部訪問乙個類的內部類,首先要找到外部類的例項化物件,再通過外部類的例項化物件去例項化內部類的物件
public class outerclass
public void test()
} }public class innerclass
// public static void test();
} public static class innerclass1 }}
abstract class animal
class dog extends animal
}class outerclass1
//在外部訪問乙個類的內部類
outerclass out =new outerclass();//首先例項化外部類物件
outerclass.innerclass in = out.new innerclass();//通過外部類的例項化物件去例項化內部類的物件
}
public class innerclasstest
}inte***ce i
class x
});} public void fun2(i a)
}
Java學習筆記 抽象類
抽象類 類中沒有足夠的資訊來描繪乙個具體的物件。定義有點玄乎,但是從它的特點可以理解這個定義 abstract class來定義抽象類。抽象類的特點 1.抽象方法只允許在抽象類中定義,但是抽象類中可以定義非抽象方法 抽象模擬普通類僅僅多了抽象方法 2.抽象方法只能定義方法宣告,並不能定義方法實現 3...
JAVA學習筆記7 介面 抽象類總結
介面與抽象類 總結 同都是不斷向上抽取而來的 異1 抽象類需要被繼承 而且只能單繼承 介面需要被實現 而且可以多實現 2 抽象類中可以定義抽象方法和非抽象方法 子類繼承可以直接使用非抽象方法 而介面必須定義抽象方法 必須由子類去實現 3 抽象類的繼承是所有關係 定義該體系的基本共性內容 比如 程式設...
java筆記 抽象類
抽象類的概述 從很多物件中抽取出來的方法宣告,沒有方法體的方法被稱為抽象方法。有抽象方法的類被稱為抽象類。抽象類的特點 a 抽象方法和抽象類用關鍵字abstract表示。b 有抽象方法的類一定是抽象類或介面,抽象類中不一定有抽象方法。c 抽象類不能被例項化。d 如果乙個類繼承抽象類,這個類要麼本身也...