Javaの抽象クラス、インタフェース、内部クラス

抽象クラスの概念:

1、Javaは特定の方法は、その方法ではない定義することができ、本方法は、終了サブクラスによって実装され、プロセスは、抽象メソッドと呼ばれる、抽象クラスを含む方法は、抽象クラスです。

2.周囲及び形状クラスの面積の算出方法を決定することができない、それは特定のサブクラスを達成するために、抽象宣言されたメソッドであることができます

抽象クラスであって

 

抽象メソッドを宣言します

修飾子抽象戻り値の型メソッド名([パラメータリスト]);

抽象メソッドが実行される特定の機能を判断することはできませんので、その手立て抽象メソッド本体はありません、あなたは括弧の後にセミコロンを追加する必要があります注意してください

抽象クラス宣言

文法:修飾子抽象クラスは、親クラス名クラス名を拡張します

類似用いた通常及び従来の変性外側抽象クラスに加えて、抽象クラスとクラス。

抽象クラスには抽象メソッドになることはできません。しかし、抽象メソッドがあると、このクラスは抽象クラスとして宣言する必要があります

最終プライベート静的および抽象共存させることはできません

 

抽象クラスを使用します:

なぜなら、それはインスタンス化できないので、抽象クラスは、特定のクラスではなく、抽象クラスは、変数を宣言するために使用することができます

抽象クラスは、特定の抽象クラスを達成するために、すべてのサブクラスのすべての抽象メソッド抽象クラスを継承することができます。

注意:抽象メソッドが実行される特定の機能、すべての抽象メソッドノーメソッド本体を決定することはできませんので、我々は、セミコロンの後の括弧内に追加する必要があります。

抽象メソッド:;サブクラスは親クラス抽象メソッドをオーバーライドする必要がある、またはサブクラスも抽象クラスでメソッドは、本体では使用できません

フォーマット:パブリック抽象ボイド(食べます)。

 

インタフェース:インタフェースだけでなく、Javaのアプリケーション開発プロセスでは、「合意」だけでなく、より抽象抽象クラス

      同じクラスが、特定の機能に分類することはできません。

   構文:インターフェース名界面修飾{[定数]、[抽象メソッド];}

    抽象的なキーワードを記述することはできませんインターフェイス抽象メソッド、デフォルトのパブリックアクセス修飾子

    クラスはインターフェイス、達成するのに必要なすべての抽象メソッドのインタフェースを実装するか、または抽象クラスとしてクラスを設定する際に、

    インターフェイスは、定数を含むのpublic static finalをデフォルトすることができます

   インタフェースの継承も達成することができ、複数の親インターフェイスを継承することができ

      新しいテープの後に既定の方法jdk1.8法体であってもよく、オーバーライドクラスで実装されてもよいし、基準インターフェースによって呼び出されることができる:デフォルト

   静的:実装クラスに書き換えられていない、インタフェース名を通じて呼び出し、メソッド本体とjdk1.8新しい静的メソッドの後

 

インターフェイス構文:クラス修飾子は、クラス名1の親クラスの名前はインターフェース、インターフェース2、...} {クラスの本体部分を実装延び

        Javaの単一継承の欠点を解決するためにクラスは、複数のインターフェースを実装することができ

インタフェース間の継承:Javaでクラス間の継承関係にある単一継承、クラスは、唯一の親を有することを意味します

        親が複数のインタフェースのインタフェースを持つことができることを意味し、多重継承のJavaインタフェース、

インタフェースとして機能する改良再利用手順、改善されたスケーラビリティプログラム、カップリング手順を低減する;多重継承を実装

 

内部クラス

内部クラスとは何ですか?Javaでは、クラスは、クラスの内部型と呼ばれる、別のクラスまたはメソッドの内部で定義することができます。

内部分類カテゴリ:

内部クラスのメンバー:クラスのクラス定義の他のメンバーの位置、
  内部クラスのオブジェクトのインスタンスを取得する、モード1:新しい外部クラスの内部クラス.new

            実施例2:外部オブジェクトの内部カテゴリ.new

            実施例3:外部オブジェクトを取得する方法

  内部クラス外で使用される1は、それがクラス情報をインスタンス化する外部手段によって行われる必要があり、直接インスタンス化することができません。

  図2に示すように、このような内部改質剤へのアクセスは、任意とすることができるが、アクセス範囲が影響を受けるであろう。

  3、内部クラスは、直接クラスの外部メンバーにアクセスすることができ、同じ名前のプロパティがある場合。内部に定義されたアクセス優先順位クラス。

  4、メンバーは、同じ名前の外部アクセスクラスから外部.thisクラス情報を使用することができます。

  図5に示すように、内部クラスのインスタンスによって必要とされる内部カテゴリクラス情報への外部アクセスは、直接アクセスすることはできません。

  6、ファイルの命名コンパイルされた.class内部クラス:外部内部クラス$クラスの.class;

  内部クラスは、メソッドシグネチャアウタークラスと同様に含むことができるかどうか7、

部分的な内部クラス:別のクラスまたはコードブロックの本体の方法で定義されたクラス。

  1、範囲内で、メソッド内で定義されました

  図2に示すように、内側部材およびルールを使用する方法と、クラス公共の前に添加することができない、プライベート、保護、静的

  3、クラスには、静的メンバを含めることはできません

  図4に示すように、クラスは、最終的な、抽象的改変体を含有することができます

  

静的内部クラス:一つのクラスは、クラスの他のメンバーの位置、およびstatic修飾子で定義されています。

  静的メンバーが直接あなたが非静的メンバを呼び出す必要がある場合は、オブジェクトによってインスタンス化することができ、外側のクラスにアクセスすることができます1、静的な内部クラス、

  図2に示すように、内部の静的クラスのオブジェクトインスタンス、外部物体に依存せず

  外部クラスを介して図3に示すように、インナークラス静的メンバー、内部の静的メンバクラスへのアクセス

  あなたは、外部クラスの静的プロパティにアクセスする必要がある場合は、外部クラスどのような特性ができる;あなたは外部クラス非静的にアクセスする必要がある場合は、内部クラスが同じ名前のクラス属性、内部クラスのメンバーを呼び出し、デフォルトの外属性4、 ()によって、新しい外部クラスの属性。モード属性

匿名内部クラス:匿名内部クラスには名前がありません

  1、ない匿名内部クラスのタイプ名は、オブジェクトのインスタンスの名前

  名前の2、コンパイルされたファイル:外部デジタルクラスの$の.class

  3、プライベート、パブリック、保護、抽象的、静的な変更を使用することはできません

  図4に示すように、コンストラクタを書き込むことができないコードブロックを追加するように構成することができます

  5、静的メンバを表示することはできません

  6、匿名内部クラスは親クラスを継承できるインターフェイスを実装することができますが、両方を持つことはできません

 

おすすめ

転載: www.cnblogs.com/scar1et/p/10962005.html
おすすめ