2013-08-21 34 views
-2

這讓我瘋了(Eclipse的開普勒)的Java鏈構造調用錯誤

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) 

它幾乎讓我瘋了!幫我擺脫這個! 謝謝!

+8

在你的第二個構造函數中使用'this(10);' – StormeHawke

+1

Google是你的朋友。搜索「java中的鏈式構造函數」顯示答案是它的第一個鏈接。 –

+0

你解決了這個問題嗎? –

回答

10

使用

public FastReader(String b) { 
    this(10); 
} 
+0

你說我調用構造函數的方式是完全錯誤的兄弟?謝謝 –

+1

是的,編譯器告訴你這一點,以上是構造器鏈接的正確語法 – Reimeus

1
public FastReader(String b) 
{ 
    this(10); 
} 

這是調用同一個類的構造函數的正確方法。 如果你想調用同一個類的構造函數,使用關鍵字'this',如果你想調用父類的構造函數,使用關鍵字'super'。