首页 > 其他 > 详细

super和this注意事项

时间:2019-05-12 22:02:28      阅读:125      评论:0      收藏:0      [点我收藏+]

 

 

class Parent{
    public void init(){
        System.out.println("1 init parent");
        this.demo();
    }
    public void demo() {
        System.out.println("2 demo parent");
    }
}
class Son extends Parent{
    @Override
    public void init(){
        super.init();
        System.out.println("3 init son");
    }
    @Override
    public void demo(){
        System.out.println("4 demo son");
    }
}
public class Demos {
    public static void main(String[] args) {
        Son son1=new Son();
        Parent son2=new Son();
        son1.init();    // 1 4 3 父类的this.demo()仍然调用的是子类覆盖的demo()
        son2.init();    // 1 4 3
    }
}

在子类init 方法中调用了父类的init方法,但父类又调用了this.demo(),此时的this指向的是调用者,也就是son,执行的是子类的demo()方法。

 

super和this注意事项

原文:https://www.cnblogs.com/mryangbo/p/10853714.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!