Java链式构造函数调用错误[重复]
Posted
技术标签:
【中文标题】Java链式构造函数调用错误[重复]【英文标题】:Java chained constructor calling error [duplicate] 【发布时间】:2013-08-23 22:04:41 【问题描述】:这让我很生气(Eclipse Kepler)
public class FastReader
public static void main (String[] args)
FastReader a = new FastReader("hi");
public FastReader(int a)
public FastReader(String b)
FastReader(10);
我得到这个错误:
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);
Google 是您的朋友。谷歌搜索“java中的链构造函数”将答案显示为它的第一个链接。
问题解决了吗?
@JBNizet 在异常中没有人能够推断出他们需要寻找“链接构造函数”。我认为这个问题非常有效,肯定是重复的,但有效
@Isaac 我从来没有说过这个问题是无效的。我刚刚说过,由于 OP 想要从 Java 中的另一个构造函数调用构造函数,首先要做的是通过谷歌搜索做一些研究,例如“从 Java 中的另一个构造函数调用构造函数”。只要这样做就会立即得到答案。
【参考方案1】:
使用
public FastReader(String b)
this(10);
【讨论】:
你说我调用构造函数的方式是完全错误的兄弟?谢谢 是的,编译器告诉你这个,上面是构造函数链接的正确语法【参考方案2】:public FastReader(String b)
this(10);
这是调用同一个类构造函数的正确方法。 如果要调用同一个类构造函数,请使用关键字“this”,如果要调用父类构造函数,请使用关键字“super”。
【讨论】:
以上是关于Java链式构造函数调用错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章
爪哇。隐式超级构造函数 Employee() 未定义。必须显式调用另一个构造函数[重复]