没有出路。你必须创建一个可用的(
protected,
public或默认)的超级构造函数能够延长
test。
这种表示法通常用于实用程序类或单例中,在这种情况下,您不希望用户通过扩展实例和实例化子类,或者只是通过调用类的构造函数来自己创建类的实例。
当您只有一个
class具有
private构造函数的时,您也可以将更
class改为,
final因为它根本无法扩展。
另一个解决方案是使用一种方法,在
test其中创建的实例
test并将每个方法调用委托
One给
test实例。这样,您不必扩展
test。
class Test { private Test() { System.out.println("test"); } public static Test getInstance(){ return new Test(); } public void methodA(){ //Some kind of implementation }}public class One { private final Test test; One() { System.out.println("One"); test = Test.getInstance(); } public void methodA(){ test.methodA(); } public static void main(String args[]) { new One(); }}


