A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


一个关于java中继承的问题(孙子类怎样使用爷爷类里的方法)

求教

4 个回复

倒序浏览
要调用某个类中的某个方法,要么创建该类对象,要么这个方法是静态的直接类名调用。静态的方法先不考虑,所以,如果父亲类和孙子类都没有复写爷爷类的这个方法,那么父亲类和孙子类中都有这个方法,这样用super和this调用这个方法都可以。如果父亲类复写了这个方法,那么孙子类要调用爷爷类的方法就只能创建爷爷类的对象然后调用了。同样道理,孙子类复写了这个方法,就不能用this调用爷爷类的方法了,只能super或创建对象了。如果这个方法是静态的,那就直接用爷爷类名字调用即可
回复 使用道具 举报
  1. class YeYe {
  2.        
  3.         void sleep() {
  4.                 System.out.println("爷爷的方法");
  5.         }
  6. }

  7. class BaBa extends YeYe {       
  8. }

  9. class SunZi extends BaBa {
  10. }

  11. public class JiCeng {
  12.         public static void main(String[] args) {
  13.                
  14.                 new SunZi().sleep();//孙子调用爷爷的睡觉方法
  15.         }
  16. }
复制代码
输出结果:爷爷的方法
回复 使用道具 举报
匿名内部类可以调用吗?
回复 使用道具 举报
楼主您好,由于帖子长时间没有动态,我已经讲帖子改成已解决了,如有问题,可以私聊我。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马