継承のJavaクラスおよびインタフェース

継承の概念

  継承サブクラスオブジェクト親クラスまたはサブクラスを有する(インスタンス)インスタンスのフィールドとメソッドは、親クラス、同じ親クラス挙動を有するサブクラスからメソッドを継承するようにサブクラスは、特性と親クラスの動作を継承しています。

  相続の主な役割は、既存の基盤の継続的な拡張ということです。

継承特性

  親クラスが何のプライベートプロパティ、メソッドを持っていないサブクラスです。

  サブクラスは、サブクラスは親クラスを拡張することができ、自分の属性とメソッドを持つことができます。

  親クラスが独自の方法で実装することができサブクラスです。

  Javaの単一継承は継承されますが、多重継承、単一継承では、サブクラスは、親クラスから継承することができるということです、多重継承はあるが、例えば、クラスがクラスBを継承し、クラスBは、クラスCを継承し、その関係は、クラスCであるBに従ったものです親クラス、クラスBは、Javaとは異なるクラスAの親クラスは、C ++の継承の特性を継承しています。

  クラス(高と相まって継承欠点は、コード間のリンクを引き起こすであろう)の間の結合を向上させることができます。

インターフェイスクラス

  Javaプログラミング言語では、抽象型である抽象メソッドのコレクション、通常のインタフェース宣言インタフェースです。インタフェースは、クラスの方法を継承し、それによって抽象インタフェースメソッドを継承します。

  インターフェイスクラスは、インタフェースとクラスが類似している書くための方法ではありませんが、彼らは異なる概念に属します。クラス属性とメソッドは、オブジェクトを説明しました。クラスで実装するインタフェースが含まれています。

  インターフェースクラスの実装は、抽象クラスである場合を除き、クラスやインタフェースのすべてのメソッドが定義されます。

  インターフェイスは、インスタンス化することはできませんが、実装することができます。インタフェースを実装するクラスは、インターフェイス内に記載された全ての方法は、それ以外の場合は、抽象クラスとして宣言する必要があり、実現されなければなりません。また、Javaで、インタフェース型変数を宣言するために使用することができ、それらはヌルポインタになることができ、またはこのインタフェースのオブジェクトにバインドされています。

  インターフェースとクラスの違い:

    インターフェイスは、オブジェクトをインスタンス化するために使用することはできません。

    コンストラクタをインターフェイスません。

    すべてのインターフェイスメソッドは抽象メソッドでなければなりません。

    インタフェースは、静的および最終的変数に加えて、メンバ変数を含めることはできません。

    インターフェイスクラスは継承されませんが、クラスの実装であることを。

    インターフェイスは多重継承をサポートしています。

  定義フォーマット:

    {パブリックインターフェイスインターフェイス名

      抽象メソッド1。

      抽象メソッド2。

      抽象メソッド3。

    }

継承されたキーワード

  継承の両方が拡張し、継承するためのキーワードを実装して使用することができ、かつクラスは二つのキーワードを継承していない場合、すべてのクラスはjava.lang.Objectの由来で、デフォルトでは、オブジェクト(中クラス継承  のJavaを。 LANGの  パッケージ、必要はありません  インポート)上位クラスは。

  キーワードを拡張

    Javaでは、クラスの継承単一継承は、つまり、サブクラスは一つだけの親を持つことができ、それが唯一のクラスを継承する拡張します。

  フォーマットを拡張

1  クラスの親クラス{
 2  }
 。3   
。4  クラスのサブクラスは延び親{
 5 }

  アプリケーションを拡張します

     親クラス:

1つの パブリック クラスアニマル{ 
 2      プライベート文字列名;  
3      プライベート int型のID。 
4      公共動物(文字列がmyName、int型のMYID){ 
 5          名= がmyName。 
6          ID = MYID。
7      } 
 8      公共 ボイド(食べる){ 
 9          のSystem.out.println(名+ "正在吃" )。 
10      }
 11      公共 ボイド睡眠(){
 12          のSystem.out.println(名+ "正在睡" )。
13     }
 14      公共 のボイドはじめに(){ 
 15          のSystem.out.println( "私はみなさん、こんにちは!" + ID + "番号" +名+ "" ); 
 16      } 
 17 }

    サブクラス:

1  パブリック クラスマウス延び動物{ 
 2      公共マウス(文字列がmyName、int型のMYID){ 
 3      } 
 4 }

  親クラスのメソッドを直接呼び出しを作成することなく、サブクラスに継承されてきました

 

  キーワードを実装

    Javaの特性、クラスの使用は、(インターフェースとの間の界面で分離コンマ)場合インターフェイスは同時に複数のインタフェースを継承することができる継承多重継承を行うている器具のキーワードを使用して偽装。

  実装形式を

1  パブリック インターフェースA {
 2      公共 ボイドは(食べます)。
3      公共 ボイド睡眠();
4  }
 5   
6  パブリック インターフェイスB {
 7      公共 ボイドショー()。
8  }
 9   
10  パブリック クラス Cは、実装、B {
 11 }

  アプリケーションを実装

  インタフェース:

パブリック インターフェース喫煙{
     // メンバ変数
    パブリック 静的 最終 ダブル A = 3.14159 ;
     int型 B = 7 ;
     // インタフェースメソッドが抽象メソッドである
    パブリック 抽象 ボイド(煙); 
}

  継承:

1  パブリック クラス実装喫煙{
 2  
3      @Override
 4      公共 ボイド煙(){
 5          のSystem.out.println( "抽烟" )。
6          
7      }
 8  
9 }

 注意事項

  1.他人のみ達成することができるように、オブジェクトを作成できませんインタフェース
  2インタフェースメンバ変数のみのpublic static finalで修飾することができる
               公共の静的定数
    パブリック:パブリック、任意のクラスにアクセスすることができる任意のパッケージに
    静的:静的限り、スタティック変更は)(クラス名、プロパティ名/メソッド名を介して起動することができます。
    最終:最終、最終修正変数、変数が一定である、生涯の割り当て
  3.インターフェース修飾子を書いていない場合は、デフォルトに追加します欠けているティム修飾子、
  4インタフェースは唯一の公共抽象を追加したの欠如を変更することができます

  

 

おすすめ

転載: www.cnblogs.com/zhai113/p/11569877.html