【发布时间】:2013-02-07 07:47:24
【问题描述】:
任何人都可以说出为什么以下代码的输出为“null”吗?构造复杂对象并将细节委托给其子类的最佳方法是什么?
package com.test;
public class ClassA {
ClassA() {
initHeader();
initBody();
initFooter();
}
void initHeader() {}
void initBody() {}
void initFooter() {}
public static void main(String[] args) {
ClassB a = new ClassB();
System.out.println(a.obj);
}
}
class ClassB extends ClassA {
public Object obj = null;
ClassB() {
super();
}
void initHeader() {
obj = new Object();
}
}
【问题讨论】:
-
构造一个复杂对象的最佳方法是什么...? --> 保持简单