2017-07-28 33 views
1

「class」方法/字段從哪裏來?我在API中找不到任何有關它的信息。Java - 「class」方法/字段從哪裏來?

代碼例如:

public class SomeClass{ 
    public static void main(String[] args){ 

     System.out.println(SomeClass.class); 
    }  
} 

輸出:類SomeClass的

+0

它在語言中定義 – litelite

+0

你在說什麼方法? – talex

+0

class是一個保留關鍵字,因此它不能是字段或方法的名稱。所以編譯器知道如何處理它。 –

回答

2

這是 「編譯器魔術」 稱爲類字面

類literal是表達由以下組成的類,接口,數組或原始類型的名稱,或僞類型void,後跟'.'和令牌classJLS 15.8.2)

換句話說,雖然類沒有靜態成員稱爲class,編譯器的行爲就好像他們這麼做,將引用根據需要相應Class對象。