1. 程式人生 > >在Java中,關於.Class()與.getCalss與.getClass().getName()的區別

在Java中,關於.Class()與.getCalss與.getClass().getName()的區別

/**
 * Java反射
 所謂反射,可以理解為在執行時期獲取物件型別資訊的操作。
 傳統的程式設計方法要求程式設計師在編譯階段決定使用的型別,但是在反射的幫助下,
 程式設計人員可以動態獲取這些資訊,從而編寫更加具有可移植性的程式碼。
 嚴格地說,反射並非程式語言的特性,因為在任何一種語言都可以實現反射機制,
 但是如果程式語言本身支援反射,那麼反射的實現就會方便很多
*
 *
 * 例項引用.getClass():獲得該物件的型別類
* 例項引用.getClass().getName():獲得該型別的全稱名稱
* .Class:獲得該型別的型別類
*/
public class test1 {
    public static void 
main(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