我不知道为什么我会得到一个模棱两可的错误。这是我所拥有的示例代码:
public class MyString{
//Data:
private char[] theString;
//constructors:
public MyString(){ // default constructor
}
public MyString(String s){ // parameterized constructor
}
public MyString(char[] s){ // parameterized constructor
}
public MyString(MyString s){ // copy constructor
}
//A method that calls a constructor:
public MyString foobar(){
return new MyString(theString);
}
}
当从其他地方调用 foobar() 时,上面会生成此错误:
./MyString.java:15: reference to MyString is ambiguous, both method MyString(char[])
in MyString and method MyString(theString) in MyString match
return new MyString(theString);
^
任何想法为什么?