A类是B类的基类,B类是C类的基类.B类中有D类创建的对象,那创建C类对象时构造函数调用顺序

 我来答
修怀芹26
2013-06-16 · TA获得超过1208个赞
知道小有建树答主
回答量:695
采纳率:75%
帮助的人:456万
展开全部

这个很简单,写一下看看就知道了。

package Test.test;
/**
 * 测试构造函数的调用顺序,为了能够看清楚顺序,所以每个类的构造函数中都写了一句输出
 * @author mrzhou@miw.cn
 * 2013-6-16 上午9:49:36
 */
public class Test {

public static void main(String[] args) {
new C();
}
static public class A {

public A() {
System.out.println("A inited");
}
}
static public class B extends A {

public B() {
super();
new D();//在B中初始化D
System.out.println("B inited");
}
}
static public class C extends B {

public C() {
super();
System.out.println("C inited.");
}
}
static public class D {

public D() {
System.out.println("D inited");
}
}

}

输出结果为:

A inited
D inited
B inited
C inited.

这就是顺序啦。

342075847
2013-06-16 · TA获得超过189个赞
知道小有建树答主
回答量:81
采纳率:100%
帮助的人:65.5万
展开全部
构造A类, 构造D类, 构造B类(由于构造B类时有D类的对象, 所以需要构造B类时会调用D类构造函数),构造C类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式