我尝试这样做:
public class Demo{
public Demo() {
Demo(null)
}
public Demo(Interface myI) {
...
}
}
我希望Demo()
构造函数调用Demo(Interface)
构造函数,null
但是 eclipse 在我调用的行上抱怨“Demo(null) is undefined” Demo(null)
。我必须改变什么?
我尝试这样做:
public class Demo{
public Demo() {
Demo(null)
}
public Demo(Interface myI) {
...
}
}
我希望Demo()
构造函数调用Demo(Interface)
构造函数,null
但是 eclipse 在我调用的行上抱怨“Demo(null) is undefined” Demo(null)
。我必须改变什么?
不应该Demo(null)
只是this(null)
您正在尝试调用尚未定义的方法。Demo
例如
class A {
public A() {
this(1); // calls constructor A(int)
A(1); // calls method A(int)
}
public A(int i) {} // constructor A(int)
public void A(int i) {} // method A(int)
public A A(A a) { return a; } // method A(A) which returns A
}
如果您希望构造函数调用另一个构造函数,则需要使用this()
like
public Demo() {
this(null);
}