継承とインターフェイス

  1    2 サブクラスとスーパー
   3は、クラスを宣言するキーワード延びている別のクラスのサブクラスである
   4として:クラス、サブクラス名はスーパークラス名延び
   5を無駄がない場合は、キーワードに延び、デフォルトは、オブジェクトクラスのサブクラスでありますでjava.langパッケージ
   6     クラス内のすべての親クラスを格納するためのデータメンバー、サブクラスデータメンバにアクセスできませんは、(使用される方法があるかもしれない)
   7。  8つの。継承サブクラス:継承メンバ変数とメソッドアクセスは変更されないまま
   9 もし同じパッケージ内の親クラスとサブクラス
 10     親クラスがプライベートではありませんサブクラスの継承:メンバ変数とメンバメソッド
 11 異なる場合、パッケージ内の親クラスとサブクラス
 12      サブクラスの継承親クラス保護された公共のメンバ変数とメンバメソッド
 13の    サブクラスすることはできません継承変数友情と友好親クラスのメソッド
 14 15 保護説明:
 16が保護されました  
:変数とメソッドは、このパッケージおよびサブクラスのアクセス、他のアクセスエラーにのみ宣言 17個の。 保護クラス変数およびメソッドはクラスであってもよい直接的および間接的なサブクラスは、Aのサブクラスを継承し、 18 であればサブクラスBは、保護された変数とメソッドを宣言した: 19 場合:保護された変数とメソッドアクセス他のクラスDサブタイプBの順に、単にクラスDとクラスBを同一のパッケージ内に 20 とします。 DはBのサブクラスにアクセスすることを望んでいる他のクラスの親クラスの変数やメソッドをproteced、同じパッケージでのみ、クラスDおよびクラスBの親クラスができる 21 のソースの日付は、親クラスにクラスバックされる 22 23 サブクラスのオブジェクトコンストラクタ 24 デフォルトのサブクラスのコンストラクタ最初の引数なしの親クラスのコンストラクタを呼び出します:オブジェクトは時にコンストラクタサブクラスが作成されます 25個の 26 :隠されたメンバ変数 27個の 変数のサブクラスで宣言され、親変数は、同じ名前で宣言さ:親クラスのメンバ変数から継承されたサブクラスの皮 28 新しい変数の名前を使用して、サブクラスで宣言された 29 の書き換え方法: 30の サブクラスが隠さを上書きすることができます親クラスのインスタンスメソッドから継承された: 31 あなたは隠された変数やメソッドのサブクラスを使用する場合はsuperキーワードを使用することです:スーパー変数を|。方法 32 33 34 サブクラスのコンストラクタ: 35 スーパー();がない場合、書き込みスーパー();デフォルトは(スーパー持っています)。デフォルトの呼び出し引数なしで親クラスのコンストラクタ 36は また、スーパー(名前...)を使用することができる、親クラスのコンストラクタのような複数の 37 そのような親クラスの名前属性として、 38である 1:名= NULL ; 39 2 :コールサブクラスコンストラクタ: 40 。3:サブクラスコンストラクタコールは自動的にスーパー書き込み(トム方法は、..) 41である 。4 this.nameスーパークラス= カスタム値の名前はトムとなる 42である 。5 :サブ次いで戻りますこのクラスは、他の方法を初期化するために続行 43の 44 :最終的なキーワード 45個の ファイナルキーワードを変更することができる:クラス、メンバ変数、ローカル変数、メソッドを 46は、最終的なドレスクラス:このクラスは、すなわち、サブクラスを持つことができない、継承することができない- >最終クラスA 47 最終修正方法:この方法は、サブクラスでオーバーライドすることはできない 48の 最終修正部材とローカル変数:この変数は一定であり、変化しませんステートメント場合、それはデフォルト値が与えられなければならない 49 50 51である オブジェクトの変換のオブジェクト 52 親クラスがクラスBクラスである 53 のメモリ空間は、サブクラスを割り当てられている:クラスBサブ時刻(すなわちのオブジェクトBを作成する場合オブジェクト参照に寄託) 54 オブジェクトがBオブジェクトにオブジェクトの変換と呼ばれる親オブジェクトへの参照オブジェクトBは、次いで、 55 A = 新たな新しいB(); 56は、 サブエンティティ上のオブジェクトの変換が失うことになりますクラスオブジェクトは、エンティティの属性:(メモリ内のいくつかのスペースを作成し、まだ存在しますが、アクセス)できない 57 、オブジェクトの変換には、新しいサブクラスのメンバ変数bを操作することができない 58 のオブジェクトの変換は新しいサブクラスbのメンバーに呼び出すことはできません 59人の オブジェクトの変数変換のメンバーは、Bサブクラス継承上の親をアクセスまたは隠すことができる:動作特性は、親クラスのメンバーである 60 オブジェクトの変換の方法は、サブクラスBを継承と呼ぶことができる:親クラスの動作が継承され 61 、子クラスは親クラスをオーバーライドする場合、オブジェクトの遷移動作は、この方法のサブクラスでオーバーライド 62 遷移サブクラスオブジェクトBにオブジェクトをキャストすることができ、サブクラスオブジェクトサブクラスのすべての機能を含んでいると、この時 63 注:オブジェクトは、親クラスに転送することができない、サブクラス作成 64 65 66 親クラス:多型この方法は、そのオーバーライドサブクラスである場合、それぞれが異なる機能有していてもよい 67 静的多型、動的多型:に多型を 68 静的多型:コンパイル時に、コードの一部を実行することができるかを決定する(および関連する過負荷) 69 動的多型は:実行時に、参照(遷移に関連する親クラス及びメソッドオブジェクトとオーバーライド)コードのどの部分を決定するために、 70を 前に実行していないが、呼び出し決定することができないメソッド呼び出しの複数、存在し得る 71である 72 抽象クラスおよびメソッド 73は、変更された(と呼ばれる抽象クラス抽象)抽象 74 パブリック 抽象 クラス75 抽象クラスが持つことができる:非抽象メソッドおよび抽象メソッドを 76の 抽象クラスは、新しい演算子使用してオブジェクトを作成できません 77(抽象用いて修飾法と呼ぶ抽象)抽象メソッド:パブリック 抽象 ボイド話す(); 78の のみ抽象メソッド宣言を達成することができ、最終的な抽象的方法で修飾することができないない 79 、非抽象クラスB抽象クラスのサブクラスである場合、すべての非抽象クラスB抽象親クラスは抽象クラスAをオーバーライドする必要がありますこの方法は、本体与える 80を 抽象クラスB抽象クラスのサブクラスである場合、Bは書き換え抽象クラス抽象親クラス抽象クラスAであってもよく、書き換えることなく、継承できる 81 抽象クラス:操作のみに関係します:すなわち、メソッド名、タイプ、およびパラメータは、この方法は、体気にしない 82 83 抽象多型 84 Bの変換上のオブジェクトのサブクラスとして、Bのサブクラスは、書き換え可能な呼び出すことができ、抽象オブジェクトクラス宣言を 85 = 新しい新 B()| 新しい新しい C()| 新しい新 D();// オブジェクト、メソッドの変換は、異なるサブクラスで呼び出すことができるが、実装は同じメソッド名である 86 (A法スピーク);. 87 プログラミング時:いくつかの抽象メソッドによって抽象クラス宣言を、メソッド本体をその非によって達成するための抽象クラス 88 抽象クラスの第1の変形例を閉じた; 89 そうでない場合は、修正抽象クラスならば、すべてのサブクラスが再び変更になりますので、 90 良いプログラミングの後に、その後、サブクラスオープン抽象的に 91 92 インターフェース: 93 クラスが一つだけの親クラス有することができる:Javaは多重継承をサポートしていない 94 が、クラスは複数のインターフェイスを実装することができる 95 インターフェース宣言:interaceインターフェース宣言: 96 、インタフェース名とインタフェースを- > インタフェース{...} 97 インターフェース本体:定数定義とメソッドの定義が含まれ 98の 定数:最終インタフェースのすべての定数のアクセスは、パブリックでなければなりません; 99 と定数不変公共の最終的なint型の CNT = 0 ; // パブリックは、決勝省略することができる 100 定数名の呼び出しとのインタフェースを通じて|クラス名を呼ぶその実装のインターフェイスまたはクラス--->インタフェース名.MAX | A.Max 101 方法:インタフェースのみ抽象メソッドは、全く一般的な方法は存在しない 102 及びアクセス公共抽象 ;省略されてもよい公共、抽象 103 クラスは、それ自体がキーワードの使用器具によって(離間インタフェース名を持つ)1つまたは複数のインターフェイスを実装する宣言することができる 104の パブリック クラスインターフェースを実装1、インタフェース2、...}、{ 105 クラスが実装するインタフェース場合、このクラスは、すべてのインターフェイスのためにこのメソッドをオーバーライドする必要があります。publicは、追加する必要があり 106の 、すなわち:アブストラクトを除去するように修飾されたオーバーライドされたメソッド公開戻り型メソッド名(パラメータ){} 107 クラスは抽象クラスAの実装であればインターフェイス、することができます一時的にインターフェースの抽象メソッドの書き換えなしで 108を 、しかし子供は抽象クラス抽象クラスAでない場合、抽象メソッドのすべてを書き換える必要があり 109 110 インタフェースコールバック: 2つの非常に類似しているオブジェクトの変換に対応する 111件のインターフェースは、コールバック:B参照されるオブジェクトのクラスを指すは、インタフェースBの実装を作成(新たな新しい変数に割り当てられたBは、())インタフェースA(A;)で宣言された 112 インタフェース変数は、インターフェースクラスのメソッドをオーバーライドBで呼び出すことができる 113 新しくないないが達成ので、同様のインターフェース、すなわちメモリ割り当てずに 114 の異なるクラスが同じインターフェースを実装することがあります。多型はインタフェースによって達成されます異なる実装で、 115は 、変数、コールバックインターフェース方法をインタフェース、それは複数の多形有することが可能である 116抽象指向プログラミングと指向プログラミング・インターフェース:指向プログラミングは、2つの抽象を含みます

 

おすすめ

転載: www.cnblogs.com/NirobertEinteson/p/12012546.html