我一直在閱讀關於JAVA和我對Class類的困惑。假如說你有這個代碼在這裏:班級類型返回
class C {}
public class NewClass {
public Class<?> f(Class<?> type){
return type.getClass();
}
public static void main(String[] args) {
NewClass nc = new NewClass();
C c = new C();
System.out.println(nc.f(C.class));
}
}
現在是真正令人驚訝的對我說的getclass返回java.lang.Class中的,而我期待它是packagename.C。它如何不顯示作爲Class類的實際類?另外,當我嘗試在f()中傳遞新的C()時,它不會編譯。即使c(C的參考)也不被接受。爲什麼會這樣?即使他們是相同的類對象/參考?爲什麼只有C.class,也就是類文字被接受爲Class類型?這真讓我困惑。如果有人可以請幫助?
由於事先
閱讀更多關於java和OOP – RayanFar