抽象クラス(抽象)
概要抽象クラス:クラスはある抽象変更、このクラスは抽象クラスであることを示している 子孫を達成するために、自分の方法ではなく、実装を定義
抽象メソッド: れるメソッド抽象修飾は、抽象メソッドはメソッド本体ではなく、このメソッドが抽象メソッドであることを示し
特長:
1は、クラスの抽象メソッド、抽象クラスが存在しなければならない、抽象クラスの抽象メソッドは必ずしもありません。抽象クラスは、抽象メソッド0-Nを持っています
2、抽象クラスではないという意味、インスタンス化できない新しい抽象クラスを
3、抽象クラスを継承する人たちは、抽象クラスのメソッドは、抽象クラスまたは自分自身で実装する必要があります。
4、コンストラクタおよび静的メソッドが抽象的にすることはできません
以下は一例です:
抽象クラスPerson
1つの パブリック 抽象 クラス人{ 2つの // プライベート属性性別 3。 プライベート文字列セックス、 4 // パラメータが設定した 5。 公共人(文字列セックス){ 6。 この .sex = セックス; 7 } 。8 // 抽象方法 。9 パブリック 抽象 ボイドのdoSomething (); 10 11 }
サブクラスの学生
1人の パブリック クラスの学生延び人{ 2 3。 プライベート文字列名; // 名前 4。 プライベート INT年齢; // 年齢 5は // 参照構成がある 。6 パブリック 学生(int型年齢){ 7。 スーパー( "M" ) 。8 本 .age = 年齢; 9 } 10 公衆学生(int型の年齢、文字列名){ 11。 この(AGE)、 12は この .nameの= 名前。 13は } 14 公共の ボイドのdoSomething(){ 15 のSystem.out.println( "私は学生のクラスが抽象メソッドdoSomethingのを実装しています" ); 16 } 17 18です }
サブクラスの先生
1人の パブリック クラス教師延び人数{ 2 公共教師(文字列セックス){ 3。 スーパー(性別); 4 } 。5 。6 公共 ボイドのdoSomething(){ 7 のSystem.out.println( "私は教師のクラスが抽象メソッドdoSomethingのを実装しています" )。 8 } 。9 10 }
テストクラステキスト
1つの パブリック クラステキスト{ 2 3 公共 静的 ボイドメイン(文字列[]引数){ 4 人物P = 新しい生徒(12 )。 5 p.doSomething()。 6 つのP1 = 新しい先生( "男" ); 7 p1.doSomething()。 8 } 9 }
コンソール出力は次のようになります。
私は学生のクラスは抽象メソッドdoSomethingの実装だ
、私は先生のクラスは抽象メソッドdoSomethingのを実装していますが
インタフェース(インタフェース)