读书人

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

发布时间: 2012-01-05 22:36:54 作者: rapoo

考考你对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,子类得调用父类无参构造器,若父类中已经有有参构造器,则不会自动生成无参构造其

读书人网 >J2SE开发

热点推荐