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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© chuanyueing 中级黑马   /  2013-3-8 10:01  /  798 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public class TheOne {
  2.         public class TheInOne{
  3.         TheInOne(int n)
  4.                         {
  5.                                
  6.                         }
  7.     }
  8. }

  9. public class TheTwo extends TheOne.TheInOne{
  10.     TheTwo(TheOne to,int n){
  11.         to.super(n);
  12.     }
  13. }
复制代码
请问to.super(n);这个语法怎么解释?
如果吧super理解为是TheOne父类执行构造函数来绑定对象显然不通啊。。。

1 个回复

倒序浏览
public class TheOne {
    public class TheInOne{
    TheInOne(int n){
            System.out.println(n);      
    }
}
    public static void main(String[] args){
            TheTwo tt = new TheTwo(new TheOne(),1);
            //TheOne.TheInOne tti = new TheOne().new TheInOne(123);
    }
}


class TheTwo extends TheOne.TheInOne{//这里继承的不是TheOne,而是它的内部类!
TheTwo(TheOne to,int n){
    to.super(n);//因为继承的是内部类,所以这里的super是指向TheInone;相当于new TheOne().new TheInOne(n)
}
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马