面向对象三大特征:封装性,继承性,多态性
0x01の。継承
定義:
サブクラスは、プロパティと親クラスの振る舞いを継承します。サブクラスは、親クラスの直接アクセスすることができます非私有財産を。
フォーマット:
class 父类(){
......
}
class 子类 extends 父类(){
......
}
特殊なケース:同じ名前のメンバ変数
同じ名前を持つ場合には、サブクラスのメンバ変数は、superキーワードを追加するために、親クラスの必要性にアクセスするために、親クラスのメンバ変数、メンバ変数が登場しました。
フォーマット:
super.父类成员变量
特殊なケース2:メソッドと同じ名前
メソッド名と同じ名前の親クラスのメソッドの名前はサブクラスを表示されたら、サブクラスのメソッドは、書き換えが必要になります。
書き換え(上書き)定義:同じ親クラスとサブクラスが現れた場合(戻り値の型、変数名を、パラメータリストが同じである)は、親の実装サブクラスをオーバーライドするために、同等上書きされます方法。
説明:
1.サブクラスのオーバーライド継承されたメソッドは、親クラスの権限のサブクラスを確保する必要が平等の権利よりも大きくなります。
2.スーパーサブクラスのメソッドは、まだ適用される原則を採用することができます。
特別な事情III:特殊工法
親クラスのコンストラクタを呼び出すサブクラスは、スーパー()を使用することができる;しかし、サブクラスコンストラクタの最初の行ことを確実にします。
以下のような:
public zi{
super();
}//子类无参构造方法
注意事項:
単一継承 - 1. Aのサブクラスでは、唯一の親を持つことができます。
2. Aの親が複数の子クラスを持つことができます。
0×02。アブストラクト
定義:
1.対象方法がabstrctで変性した抽象メソッド、呼び出された方法はありません。
抽象クラスを含む2 Aメソッドが抽象クラスと呼ばれています。
フォーマット:
修饰符 abstrct 返回值类型 方法名(参数列表);
使用します。
サブクラスは、そうでないクラスは抽象クラスとして宣言する必要があり、抽象クラスは、抽象メソッドをオーバーライドする必要があります継承します。
注意事項:
1.抽象クラスでは唯一の非抽象クラスは、オブジェクトを作成することができ、オブジェクトを作成することはできません。
2.私たちは抽象クラスのオブジェクトを作成することはできませんが、抽象クラスの静的メソッドを直接呼び出すことができますが。
3.必ずしも抽象メソッドが含まれていない抽象クラスは、抽象クラスを含む方法は、抽象クラスでなければなりません。
0×03。インタフェース
定義:
場合は、Javaのインターフェイスへの参照は、タイプは、収集方法、一次包装方法、さらにさらにプライベートメソッドを備え、JDK9後、デフォルトのメソッドと静的メソッドを含むだけJDK8後に以前JDK7抽象メソッドを備えています。
フォーマット:
public interface 接口名称{
......
}
抽象メソッドをインタフェース:
抽象インタフェース・メソッドの前に抽象的なキーワードを省略することができます。
デフォルトのインターフェイスメソッド:
使用デフォルトでは、キーワードのサブクラスと通話をオーバーライドするサブクラスによって変更します。
インターフェイスの静的メソッド:
使用して、静的なインターフェイスダイレクトコールのために修正キーワードを。
プライベートメソッドをインタフェース:
秘密鍵修正、インターフェイスおよび静的メソッド呼び出しのためのデフォルトの方法を使用します。
インタフェースの実装:
同様のインタフェースの継承を実現するために、実装キーワードの変更を使用します
フォーマット:
class 类名 implements 接口名{
......
}
使用の抽象メソッド:
非抽象クラスが実装インタフェース、すべての抽象メソッドを書き換える必要があります。
それが書き換えられているメソッドを呼び出すオブジェクトの実装クラスを作成すること。
使用するデフォルトの方法:
継承はどちらか、それは通常の方法で、書き換えることができます。
staticメソッド:
唯一のインタフェース名の通話を使用して、オブジェクトの実装クラスの呼び出しをすることはできません。
使用のプライベートメソッド:
プライベートメソッドは、デフォルトのインタフェース・メソッドを呼び出すことができます。
唯一のデフォルトメソッドと静的メソッドのインタフェースプライベート静的メソッドを呼び出すことができます。
インターフェイスのマルチ実装:
意味:クラスは複数のインタフェースを実装し、また、親を継承することができます。
マルチ抽象メソッドを実装します。
非抽象クラスのマルチリアライズは、すべての抽象メソッドを実装する必要がある場合、重複する名前がある場合、一つだけを実装する必要があります。
使用するデフォルトの方法よりも多くを達成するために:
複数のインタフェースがデフォルトのメソッドと同じ名前を持っている場合、それは再び書き直さなければなりません。
達成するためのマルチユースの静的メソッド:
同じ名前のインタフェースは、名前だけで呼び出すことができるため、競合しません。
特殊なケース:
デフォルトのインターフェイスメソッドと同じ名前を持つ親クラスの実装クラスのメンバーは、この方法は、親クラスの優先順位のメンバーを取るとき。
多重継承インタフェース:
意味:インタフェースが複数のインタフェースを継承することができます。
同じ名前の親クラスのデフォルトの方法場合は、サブクラスが一度に書き換えする必要があります。
インタフェース注:
1.インタフェースなしのコンストラクタは、オブジェクトを作成することはできません。
2.インターフェイスのメンバ変数を定義することはできませんが、使用して、定数を定義することができるのpublic static final修正を。
この章では、終了します。