JAVA學習筆記整理三(抽象類 介面 匿名類)

2021-07-12 05:18:46 字數 2546 閱讀 5871

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 如果乙個類繼承抽象類,這個類要麼本身也...