首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

考考你对super的理解(进进)

2012-01-05 
考考你对super的理解(高手进进进)A. class A { }class B extends A { }B. class A { }class B extends A {

考考你对super的理解(高手进进进)
A. class A { } 
  class B extends A { } 
B. class A { } 
  class B extends A { B( ) {} } 
C. class A { A( ) { } } 
  class B { public B( ) {} } 
D. class Z { public Z(int) {} } 
  class A extends Z { } 

在不用软件的情况下你知道上面哪个会编译错误吗? 为什么


[解决办法]
D. 没有缺省构造函数。
[解决办法]
D.

创建一个子类的对象实例的时候,必先调用父类的无参数的构造函数(默认构造函数)
D中父类的是 public Z(int),子类将找不到无参数的构造函数,编译则会出错.

加个SUPER(int);就好了


[解决办法]
加上super(int);恐怕红得更厉害喵~~``
[解决办法]
肯定是d,子类得调用父类无参构造器,若父类中已经有有参构造器,则不会自动生成无参构造其

热点排行