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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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是从对象所属的子类开始自下而上的查找方法。

以上是关于Java的this关键字在继承时的作用的主要内容,如果未能解决你的问题,请参考以下文章

java基础-什么是面向对象,作用,设计对象并使用,封装,this关键字,构造方法,标准JavaBean,对象内存图,成员变量局部变量的区别

java 关于继承中的super() 方法

Java中super关键字的作用与用法

java基础知识回顾-7(private,this,继承)

super 在Java继承中的作用??

Java关键字---this的由来和其三大作用