まず、抽象クラス:
1. キーワード:抽象、抽象クラス、抽象メソッドの変更。
2. 注:
2.1 抽象クラスは、オブジェクトを作成できませんが、参照宣言することができる(マルチステートの使用を強制します)。
2.2 抽象クラスは必ずしも抽象的でなければならない抽象メソッドを含む、抽象メソッドが含まれていません。
抽象メソッド:
1. フォーマット:抽象修正、{}なしメソッド本体;レプリケーションは、メソッドをサブクラス化しなければならないと体は意味がないからです。
2. 注:レプリケーションをサブクラス化する必要があります。
3.注:抽象メソッド抽象メソッドを実装しなければならないので、プライベートな変更を使用することはできません。
// 父类 パブリック 抽象 クラスの父{ パブリック 抽象 ボイド研究(); // 无需加{}; } // 子类 クラス息子が拡張父親{ 無効の研究(){ System.out.printlnは( "研究" ); } } パブリック クラスのテスト{ 公共 静的 ボイドメイン(文字列引数[]){ 新しい息子()試験()。 } }
第二に、インタフェース:
1. インターフェイス定義:インタフェース、 クラス定義:クラス。
2. フォーマット形式:public静的パブリック定数及び抽象メソッドのみを定義することができます。
(1 )定数:のpublic static final データ・タイプ 定数名前 = 値。
(2 )方法:パブリック抽象戻り型 メソッド名([ パラメーター ..])
// 修飾子を省略することができ、システムがデフォルト設定されます。
(3つの三つの方法)インターフェース:
1 )抽象メソッド。
2 )静的メソッド、本体を含む方法; jdk1.8 。
3 空気の)デフォルトの方法は、一般的に実装される方法。 jdk1.8 。
3. インタフェースの特徴:
( 1 )インターフェースが延び継承する複数のインタフェースを単一継承クラス。
( 2 エンド)インタフェースが再びインタフェースを定義します。
4. インタフェース多型:多型が類似継承作成し、インタフェース名 インスタンス名 =新しいインスタンスを() 。
5. 実装の呼び出し:
// インタフェース
インターフェースインター{
public static final int型NUM = 1;
パブリック抽象ボイドラン();
}
// サブクラス
クラスSubInterは{インター実装します
ます。public void実行(){
System.out.println(123)。
}
}
パブリッククラスのテスト{
パブリック静的無効メイン(文字列[] args){
SubInterトン=新しいSubInter();
System.out.println(t.NUM); // インスタンスの呼び出し
System.out.println(Inter.NUM); // インタフェース名を呼び出します
System.out.println(SubInter.NUM); // クラス名を呼び出します
}}
6. 列挙:
パブリック列挙列挙名 {
インスタンス名 1 、名前インスタンス 2 、インスタンス名 3 ....
}
第三に、抽象クラスとインタフェースの違い: