java的一道面试题

[复制链接]
查看11 | 回复5 | 2012-8-23 14:35:52 | 显示全部楼层 |阅读模式
子类构造函数会默认调用父类构造函数的。其实B类中,构造方法省略了super(),实际代码应该是:public class B extends A {B() {super();System.out.println("b");}}...
回复

使用道具 举报

千问 | 2012-8-23 14:35:52 | 显示全部楼层
B(){System.out.println("b");}默认为:B(){super();System.out.println("b");}super()就是A()所以会打出两个a...
回复

使用道具 举报

千问 | 2012-8-23 14:35:52 | 显示全部楼层
是的 子类构造会调用父类的无参构造细节很多 好好看下吧...
回复

使用道具 举报

千问 | 2012-8-23 14:35:52 | 显示全部楼层
怎么还public 两次了还 这不明显错误吗还有B那个局部变量名字都没有 输出是错误...
回复

使用道具 举报

千问 | 2012-8-23 14:35:52 | 显示全部楼层
B继承自A,因此在创建B时会隐含一个 new A();所以结果会是 a a b...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行