メンバー変数とメソッドの違いを継承します。
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(実行時タイプ)オブジェクトの動作方式を表します。