【发布时间】:2013-05-23 12:21:47
【问题描述】:
又是我的旧版 Java 应用程序。我有一个核心类来处理应用程序中的许多重要逻辑。我们称它为 MyManager。 MyManager 继承自库中的一个类,我们称之为 TopManager。限制是您不能修改任何这些定义。
public class MyManager extends TopManager {
public MyManager(String a, String b){
super(a);
initialize(b);
}
public MyManager(){
this(null,null);
}
private void initialize(String b){
//specific implementation
}
}
public class TopManager {
public TopManager(String s){
//some implementation
}
}
我想创建一个具有所有 MyManager 功能但使用 TopManager 默认构造函数的类 CustomManager。
public class CustomManager extends MyManager
public CustomManager(){
//super(); NO should call TopManager constructor
}
由于在 Java 中不可能,我正在寻找其他聪明的想法
【问题讨论】:
-
创建一个参数构造函数,但不要在其中做任何事情,它可以充当默认构造函数
-
@greedybuddha
super(String, String)致电TopManager(String)。 -
我看不到
TopManager有默认构造函数。 -
没有参数的构造函数实际上调用了this(null)。没有所有代码来保持主题(继承)
标签: java constructor design-patterns superclass