メンバー変数とメソッドの違いを継承します。

849 ワード

ほとんどのjava書籍や資料は、子類が父類を継承する時、子類は父類に定義されたメンバー変数と方法を継承すると言われています。アクセス権限が通過した場合、子類は直接に親類のメンバー変数と方法にアクセスすることができます。
class Base{
    int count =2;
    public void play(){
        System.out.println(this.count);
    }
}
class Derived extends Base{
    int count=20;
    public void play(){
        System.out.println(this.count);
    }
}
public class BianDemo{
    public static void main(String[] args) {
        Base b=new Base();
        System.out.println(b.count);
        b.play();
        Derived d=new Derived();
        System.out.println(d.count);
        d.play();
        Base bd=new Derived();
        System.out.println(bd.count);
        bd.play();
    }
}
bを作成して、dオブジェクトは説明を必要とせず、bdオブジェクトを作成し、アップコンバートし、直接bdを通じてcount変数の出力にアクセスするのは、Base(宣言タイプ)オブジェクトcountのインスタンス変数であり、bdを通じてプレイ方法にアクセスすると、Derived(実行時タイプ)オブジェクトの動作方式を表します。