【发布时间】:2011-03-21 13:03:26
【问题描述】:
我有这样的事情:
public abstract class Menu {
public Menu() {
init();
}
protected abstract void init();
protected void addMenuItem(MenuItem menuItem) {
// some code...
}
}
public class ConcreteMenu extends Menu {
protected void init() {
addMenuItem(new MenuItem("ITEM1"));
addMenuItem(new MenuItem("ITEM2"));
// ....
}
}
//Somewhere in code
Menu menu1 = new ConcreteMenu();
如你所见,超类的init方法是抽象的,在对象创建后被构造函数自动调用。
我很好奇,当我需要创建一些结构不会及时更改的此类对象时,我是否会遇到这样的代码问题。
会有更好的方法吗?它可以在 Java 中运行,但它可以在 C++ 和 ActionScript 中运行吗?
谢谢你的回答。
【问题讨论】:
标签: java