在Java中,關於.Class()與.getCalss與.getClass().getName()的區別
阿新 • • 發佈:2019-01-31
/** * Java反射 所謂反射,可以理解為在執行時期獲取物件型別資訊的操作。 傳統的程式設計方法要求程式設計師在編譯階段決定使用的型別,但是在反射的幫助下, 程式設計人員可以動態獲取這些資訊,從而編寫更加具有可移植性的程式碼。 嚴格地說,反射並非程式語言的特性,因為在任何一種語言都可以實現反射機制, 但是如果程式語言本身支援反射,那麼反射的實現就會方便很多 * * * 例項引用.getClass():獲得該物件的型別類 * 例項引用.getClass().getName():獲得該型別的全稱名稱 * 類.Class:獲得該型別的型別類 */ public class test1 { public static voidmain(String[] args) { List list = new ArrayList(); System.out.println(list.getClass());//class java.util.ArrayList System.out.println(List.class);//interface java.util.List System.out.println(ArrayList.class);//class java.util.ArrayList System.out.println(list.getClass() == ArrayList.class);//true System.out.println(list.getClass() == List.class);//false System.out.println(list.getClass().getName());//java.util.ArrayList