,我發現前幾天一個代碼在Java中使用的類關鍵字的背景下,例如:Java類關鍵字
MyConcreteClass.class.AMethod();
我一直試圖做一個JFrame中,例如:
JFrame.class.getName();
而且工作,但...我無法弄清楚/在互聯網上找到這個關鍵字在這種情況下意味着什麼。我只用它來聲明類。
任何人都可以解釋我什麼類意味着在這種情況下?
謝謝,
,我發現前幾天一個代碼在Java中使用的類關鍵字的背景下,例如:Java類關鍵字
MyConcreteClass.class.AMethod();
我一直試圖做一個JFrame中,例如:
JFrame.class.getName();
而且工作,但...我無法弄清楚/在互聯網上找到這個關鍵字在這種情況下意味着什麼。我只用它來聲明類。
任何人都可以解釋我什麼類意味着在這種情況下?
謝謝,
在這種情況下,class
不是關鍵字,它是表示其相應實例Class
的類的特殊屬性(「類文字」)。例如,要獲得String
的Class
對象,我們執行此操作:String.class
。返回的值是代表String
的類的Class
的實例(請注意使用大寫和小寫)。
這裏.class
用於實際的類,以獲得相同的結果,使用它的一個實例我們使用getclass()
方法。繼續我們的示例,此片段返回Class
的相同實例,對應於String
:"".getClass()
。
爲了圓這個想法 - 這個片段將始終返回true
,與相應的實例的任何類,你要測試:
"".getClass().equals(String.class)
在此背景下,class
是class literal參照表示類Class對象的一部分。
在您的示例中使用class
關鍵字將爲您提供Class<JFrame>
類型的對象實例。
當你做JFrame.class你得到一個Class<JFrame>
實例,因此你可以撥打getName
方法。
類文字允許您訪問有關該類的信息。