Java chained constructor calling error
这让我很生气(日蚀开普勒)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| public class FastReader
{
public static void main (String[] args )
{
FastReader a = new FastReader ("hi");
}
public FastReader (int a )
{
}
public FastReader (String b )
{
FastReader (10);
}
} |
我得到这个错误:
1 2 3 4
| Exception in thread "main" java. lang. Error: Unresolved compilation problem :
The method FastReader (int) is undefined for the type FastReader
at FastReader. <init >(FastReader. java:14)
at FastReader. main(FastReader. java:6) |
这几乎让我发疯了!帮我摆脱这个!谢谢您!
- 在第二个构造函数中使用this(10);。
- 谷歌是你的朋友。"Java中的链式构造函数"的Google将答案作为它的第一个链接。
- 你解决问题了吗?
- @jbinzet的任何一个例外都不能推断出他们需要寻找"链接构造函数"。我认为这个问题很有效,当然是重复的,但有效
- @艾萨克,我从没说过这个问题是无效的。我刚刚说了THT,因为OP想从Java中的另一个构造函数调用构造函数,首先要做的是通过Google做一个小的研究,例如"从Java中的另一个构造函数调用构造函数"。这样做会立即得到答案。
使用 </P >
1 2 3
| public FastReader (String b ) {
this(10);
} |
- 你说我调用构造函数的方式是完全错误的,兄弟?谢谢
- 是的,编译器告诉您,上面是构造函数链接的正确语法
1 2 3 4
| public FastReader (String b )
{
this(10);
} |
这是正确的方式来调用在同一级constructor。 如果你想调用同一级的关键字的使用constructor本"如果你想调用父类的constructor使用的关键字的"超级"。 </P >