4

我尝试这样做:

public class Demo{
public Demo() {
    Demo(null)
}
public Demo(Interface myI) {
    ...
}
}

我希望Demo()构造函数调用Demo(Interface)构造函数,null但是 eclipse 在我调用的行上抱怨“Demo(null) is undefined” Demo(null)。我必须改变什么?

4

2 回答 2

8

不应该Demo(null)只是this(null)

于 2012-10-31T14:20:06.703 回答
4

您正在尝试调用尚未定义的方法。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);
}
于 2012-10-31T14:20:12.990 回答