super 传递的层级

在看装饰者设计模式,里面涉及到super 的用法,对super的用法有些疑惑:

  1,super 只会调用直接父类的方法,父类的父类是不会调用的

  2,super 会调用到父类的最底层;

特此,做个java 实验,代码如下:

接口:


直接实现:

 子类:

子类的子类:

测试:
1,Second 类中 super.say() 方法注释掉,

 2,

Second 类中 super.say()有该方法,

 则会继续掉用本类的父类;

结论:

super 只会调用本类的直接父类,父类的父类本是不会调用的。



原文地址:https://www.cnblogs.com/gxs-future/p/13957341.html