1. 程式人生 > >Java中反射機制和Class.forName、例項物件.class(屬性)、例項物件getClass()的區別

Java中反射機制和Class.forName、例項物件.class(屬性)、例項物件getClass()的區別

二、Class.forName、例項物件.class(屬性)、例項物件getClass()的區別

 1、相同點:
 通過這幾種方式,得到的都是Java.lang.Class物件(這個是上面講到的 類在載入時獲得的最終產物)
 例如:
 package demo;
public class A
{
 public static void main(String[] args) throws Exception
 {
 System.out.println(A.class);//通過類.class獲得Class物件

 A a = new A();
 System.out.println(a.getClass());//通過 例項名.getClass()獲得Class物件

 System.out.println(Class.forName("demo.A"));//通過Class.forName(全路徑)獲得Class物件
System.out.println(".................................");
System.out.println(a);//使用不同的方式建立物件
System.out.println(A.class.newInstance());
System.out.println(a.getClass().newInstance());
System.out.println(Class.forName("demo.A").newInstance
());  
 }
}

結果:class demo.A
 class demo.A
 class demo.A (這裡也可以得到一個類的Class物件是唯一的)
.......................................
 [email protected]
 [email protected]
 [email protected]
 [email protected]

2、區別:

相關推薦

Java反射機制Class.forName例項物件.class(屬性)例項物件getClass()的區別

二、Class.forName、例項物件.class(屬性)、例項物件getClass()的區別 1、相同點: 通過這幾種方式,得到的都是Java.lang.Class物件(這個是上面講到的 類在載入時獲得的最終產物) 例如: package demo;public class A{ public st

JAVA反射機制五(JavaBean的內省與BeanUtils庫)

getc ron 輸出結果 下載 比較 static 完成 自動完成 規則   內省(Introspector) 是Java 語言對JavaBean類屬性、事件的一種缺省處理方法。   JavaBean是一種特殊的類,主要用於傳遞數據信息,這種類中的方法主要用於訪問私有的

JAVA反射機制六(java.lang.reflect包)

instance 檢查 item 類繼承 final win 基類 cte member 一、簡介 java.lang.reflect包提供了用於獲取類和對象的反射信息的類和接口。反射API允許對程序訪問有關加載類的字段,方法和構造函數的信息進行編程訪問。它允許在安全限制

Java反射機制詳解

turn face instance java struct () 分享 2.6 一個     序言       在學習java基礎時,由於學的不紮實,講的實用性不強,就覺得沒用,很多重要的知識就那樣一筆帶過了,像這個馬上要講的反射機制一樣,當時學的時候就忽略了,到後來學習

Java反射機制(Reflection)研究及原始碼演示

如下內容內容是關於 Java中反射機制(Reflection)研究及演示的內容。   package com.jiangqq.reflection; import java.lang.reflect.Method; public class Reflection1 { public stati

Java反射機制使用

文章目錄 一、定義 二、功能 三、反射的實現方式 四、實現反射的類 五、Java動態載入類使用場景 六、反射機制的優缺點? 七、下面不是概念,乾貨來啦!

Java反射機制作用

轉自這裡 Java的反射機制是Java特性之一,反射機制是構建框架技術的基礎所在。靈活掌握Java反射機制,對大家以後學習框架技術有很大的幫助。 那麼什麼是Java的反射呢?        大家都知道,要讓Java程式能夠執行,那麼就得讓Java類要被Java虛擬機

java反射機制Class

面向物件思想 一切皆物件 類也是物件,Class類的物件,java.lang.Class Class類的構造器是私有的,只有虛擬機器可以直接建立它的物件, 有三種建立方式:類.class、類物件.getClass、Class.forName 靜態載入:new,發生在編譯的時候 動態載

對於JAVA反射機制CLASS類的個人理解

上週上課老師點我起來回答問題,問了一下JAVA反射機制,我本來對JAVA用得不多,加上有一段時間沒有看過了,所以並沒有能夠答出來,之後就想要好好理解理解,加上老師佈置作業讓弄懂JAVA反射和Class類,所以CSDN第一次寫部落格,就來寫寫我對反射和Class的學習之後的感

Java反射機制動態代理

一、反射概述   反射機制指的是Java在執行時候有一種自觀的能力,能夠了解自身的情況為下一步做準備,其想表達的意思就是:在執行狀態中,對於任意一個類,都能夠獲取到這個類的所有屬性和方法;對於任意一個物件,都能夠呼叫它的任意一個方法和屬性(包括私有的方法和屬性),這種動態獲取的資訊以及動態呼叫物件的方法的功

Java多態機制繼承重寫重載

htm uil 不同的 運行期 表現 決定 this targe 程序 關於Java中多態機制 http://www.cnblogs.com/chenssy/p/3372798.html 這篇博文講的很透徹 大體意思是 多態定義: 多態就是指程序中定義的引用變量所指向的具體

Java的ReentrantLocksynchronized兩種鎖定機制的對比

優化 實現 維護 pla 所有 投票 明顯 拋出異常 數據 多線程和並發性並不是什麽新內容,但是 Java 語言設計中的創新之一就是,它是第一個直接把跨平臺線程模型和正規的內存模型集成到語言中的主流語言。核心類庫包含一個 Thread 類,可以用它來構建、啟動和操縱線程,J

javaimport機制(指定importimport *的區別)

dem single boot 路徑 list http 簡單 至少 package 轉自:https://www.cnblogs.com/dtts/p/4692480.html java中有兩種包的導入機制,總結如下: 單類型導入(single-type-i

java反射機制之getDeclaredMethodsgetMethods的區別

-c col random sys rgs methods ember min () getMethods() 返回一個包含某些 Method 對象的數組,這些對象反映此 Class 對象所表示的類或接口(包括那些由該類或接口聲明的以及從超類和超接口繼

C++實現反射(即類似於.NETjava反射機制)

NET下的很多技術都是基於反射機制來實現的,反射讓.NET平臺下的語言變得得心應手。最簡單的,比如列舉型別,我們我可以很容易的獲得一個列舉變數的數值以及其名稱字串。 可是,在C++中,列舉變數本質上和一個整形變數沒有區別,我們很難獲取一個列舉變數的名稱字串。 其實在C++中,我們可以通過巨集

Java基本型別封裝型別資料與堆棧的關係

Java的堆是一個執行時資料區,類的(物件從中分配空間。這些物件通過new、newarray、anewarray和multianewarray等 指令建立,它們不需要程式程式碼來顯式的釋放。堆是由垃圾回收來負責的,堆的優勢是可以動態地分配記憶體大小,生存期也不必事先告訴編譯

Java 反射機制動態代理是基於什麼原理,瞭解過嗎?

工作多年以及在面試中,我經常能體會到,有些面試者確實是認真努力工作,但坦白說表現出的能力水平卻不足以通過面試,通常是兩方面原因: 1、“知其然不知其所以然”。 做了多年技術,開發了很多業務應用,但似乎並未思考過種種技術選擇背後的邏輯。坦白說,我並不放心把具有一定深度的任務交給他。 2、

關於JAVA事件分發監聽機制實現的程式碼例項-絕對原創實用

轉載:http://blog.csdn.net/5iasp/article/details/37054171 謝謝博主 ====================================================================

Java基礎--反射機制簡單使用(Class類)

//插槽類 public interface InterfaceDemo { public void open(); public void run(); public void close(); } //手機主機板類 public class CardSlotDem

java 利用反射機制,獲取實體所有屬性方法,並對屬性賦值

Field[] field = model.getClass().getDeclaredFields(); // 獲取實體類的所有屬性,返回Field陣列 try { for (int j = 0; j < field.length; j++)