Enternal1

Java的this关键字在继承时的作用

1this.属性

class A{
    int a = 10;
    public void play(){
        System.out.println(this.a);
    }
}
class B extends A{
    private int  a = 100;
 /*   public void play(){
        System.out.println(this.a);
        System.out.println(super.a);
    }*/
}
public class test{
    public static void main(String [] args){
        A a = new B();
        a.play();
    }
}

 

结果:

发现this是从当前类层次开始,向上查找。

2this.方法

class A{
    int a = 10;
    public void play(){
        System.out.println(this.a);
    }
    public void fun(){
        this.play();
    }
}
class B extends A{
    private int  a = 100;
    public void play(){
        System.out.println(this.a);
    }
}
public class test{
    public static void main(String [] args){
        A a = new B();
        a.play();
    }
}

 

结果:

发现this是从对象所属的子类开始自下而上的查找方法。

posted on 2017-09-25 16:51  Enternal1  阅读(345)  评论(0)    收藏  举报

导航