2014-10-09 53 views
0

我知道這已被問過一百萬次之前,但仍然無法根據以前的解決方案找出解決方案。我看到的大多數問題都涉及到產生多個文件的類,以及像我這樣的初學者無法理解的環境變量和奇怪的東西。Java找不到我自己的類的符號

我有一個非常簡單的測試設置,試圖瞭解問題。

class Class1{ 
} 

public class testClasses{ 
    public static void main(String[] args){ 
     System.out.print(Class1); 
    } 
} 

(很明顯在一個名爲testClasses.java的文件中)。

它給了我一個錯誤,說cannot find symbol指的是Class1。 Java中究竟發生了什麼,這使得它無法識別Class1

+0

'Class1'是什麼。目前它認爲它需要引用一個名爲'Class1'的變量,您可能需要'Class1.class'或'new Class1()'來代替。 – 2014-10-09 07:19:30

回答

3

編譯器認爲Class1是一個變量,你還沒有聲明。你想要的是propably

System.out.println(Class1.class); 

System.out.println(new Class()); 
2

我想你實際上意味着:

System.out.print(new Class1()); 

爲了獲得這個工作(打印一些人類可讀的),你需要重寫toString()方法在Class1

1

您的問題是Class1不是一個符號,或者一個變量。這是一個班的名字。對該類的引用。當你去打印出來; System.out.println方法需要一個對象。你沒有的。

如果這是您的目標,您可以嘗試System.out.println(new Class1())

0

只有Class1並不意味着什麼JVM,所以你既可以用作爲

System.out.println(Class1.class); 

System.out.println(new Class());