プロパティを覆う
存在する場合、サブクラス及びカバレッジプロパティと呼ばれる親クラスと同じプロパティの名前を定義したときに
観察されたプロパティをオーバーライドし
class A{
public String str="Hello";
}
class B extends A{
public int str=100;
public void print(){
System.out.println(str);
System.out.println(super.str);
}
}
public class testDemo{
public static void main(String args[]){
B b = new B();
b.print();
}
}
必ず親クラス定義のサブクラスの私有財産を呼び出すことはできませんので、パッケージング後、意味をなさない任意の開発で、クラス属性が(99%)をカプセル化しなければならないことを強調し
、これがあると、スーパーとの差に:比較?
いいえ。 | 違い | この | スーパー |
---|---|---|---|
1 | 機能 | このクラスのコンストラクタ呼び出して、本クラスのメソッドは、このクラスの属性 | サブクラスは、親クラスの属性、親クラスのメソッドは、親クラスのコンストラクタを呼び出します |
2 | フォーム | まず、ダイレクトコールがある場合、このタイプの構造の呼び出しがあるかどうかを見つける、または親クラスを検索します | サブクラスは直接見て親クラスを呼び出すことはありません。 |
3 | 特別な | このクラスは、現在のオブジェクトを表します | - |
開発の下では、クラスまたは親クラスの操作のために強く良いとのこの区別「この」や「スーパー」を追加することが示唆される
要約は
1としては、長い相続が発生したとして、それは、アプリケーションのオーバーライドをアプリケーションの存在を上書きしますmainメソッドで
2親クラスのサブクラスは、指定されたが、親クラスのメソッド名保持しつつ、親クラスの実装は、サブクラスの主張を満たすクラスをオーバーライドするために使用することができないことが判明した場合
3.サブクラスのオーバーライドをこの方法は、親クラスのアクセス制御権よりも厳しいが所有していません