2013-03-10 49 views

回答

2

所有的Java代碼編譯成.class文件,所以不應該是不足爲奇。

但我想你是指Foo.class語法,這與.class文件沒有任何關係。它只是一種定義類型Class<T>的文字值的方法,就像您可以使用雙引號來定義String類型的文字值一樣。

+0

Daniel - 謝謝。我看到了班級稱爲「班級」的API。我們爲什麼需要這個班?爲什麼上面的代碼需要Hello.class?爲什麼不能使用HelloJob類型的對象呢? – 2013-03-10 05:33:10

+0

該類的* class *和* instance *之間有區別,或者更正式地,該類型的* type *和* value *之間有區別。當你在進行元編程*時,你經常需要引用類型,而不是值(或者Java類沒有的*類*和*類特性*等高階概念)。另請參見[此StackOverflow問題]的答案(http://stackoverflow.com/questions/4453349/what-is-class-objectjava-lang-class-in-java)。 – 2013-03-10 05:41:05

+0

再次感謝。現在完美。 – 2013-03-10 05:51:02