java反射方式建立例項
在談到例項的時候,很多人對這個概念還不能說出所以然。其實例項就是一個具體的物件,像我們之前學習的類、陣列都可以建立例項。反射相對而言也是比較抽象的概念,所以我們是能夠把它例項化的。下面簡單對例項進行了解,然後分別帶來無參和有參的反射例項例項化方法。
1.例項說明
new 一個物件是例項,可以把這個new出來的物件叫做例項,說白了就是這個new出來的“東西”,叫它物件也可以,叫它例項也可以,物件和例項在這個角度上來講是等價的。
2.建立空參的例項。 使用Class物件的newInstance()方法來建立Class物件對應類的例項。
//原始:new的時候,先根據被new的類的名稱找尋該類的位元組碼檔案,並載入進記憶體,
//並建立該位元組碼檔案物件,並接著建立該位元組檔案對應的Person物件。
Person p = new Person(); //反射:找尋該類的名稱,並載入進記憶體,併產生Class物件 //在產生類的物件 Strint className = "com.example.hgx.Person"; Class clazz = Class.forName(className); Object obj = clazz.newInstance();
3.建立帶引數的例項。 這時要透過Class物件獲取指定的Constructor物件,再呼叫Constructor物件的newInstance()方法來建立例項。
class Person { public String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } } //獲取Person類帶一個(String,int)引數的構造器 Strint className = "com.example.hgx.Person"; Class clazz = Class.forName(className); Constructor constructor = clazz.getConstructor(String.class,int.class);
以上就是java反射方式建立例項的方法,大家在弄清楚例項的概念後,就可以著手反射中例項的建立了,同時要區別是否含有引數。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1747/viewspace-2831002/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C#利用反射建立例項C#反射
- C# 通過反射建立例項C#反射
- JAVA反射舉例Java反射
- 對比分析Java反射獲取例項的速度Java反射
- js 物件反射使用程式碼例項JS物件反射
- Java獲取Class物件的方式和例項化物件的方式Java物件
- Jersey—建立restfulwebservice—例項RESTWeb
- Oracle JOB 建立例項Oracle
- 通過反射獲取窗體例項反射
- Java 反射機制的三種方式Java反射
- Java的幾種建立例項方法的效能對比Java
- js建立字典物件例項JS物件
- 手動建立Oracle例項Oracle
- ASM之建立ASM例項ASM
- 程式集載入與反射(二):例項篇反射
- Java例項教程Java
- java介面例項Java
- dubbo啟動報錯,反射例項化問題反射
- 2.4.6 Step 5: (Windows)建立例項Windows
- Laravel 2.2 建立 Application 例項LaravelAPP
- OpenStack建立Win10例項Win10
- Java之執行緒同步完成售票例項的6種方式Java執行緒
- Java開發學習(四)----bean的三種例項化方式JavaBean
- 確保您擁有一個獨一無二的例項:單例模式的建立方式單例模式
- Spring系列第五講 建立bean例項這些方式你們都知道?SpringBean
- java多型例項Java多型
- Thrift-java例項Java
- c# 類的反射例項 (GetType().Invoke().GetMethod().CreateInstance())C#反射
- Java單例模式與反射及序列化Java單例模式反射
- Java - 反射機制與單例設計模式Java反射單例設計模式
- java反射——反射AnnotationJava反射
- openstack命令建立雲主機例項
- [譯]使用JavaScript建立WebAssembly模組例項JavaScriptWeb
- javascript如何建立一個物件例項JavaScript物件
- 【SpringCloud】(四):建立Eureka Server例項SpringGCCloudServer
- SqlServer-建立觸發器例項SQLServer觸發器
- 使用普通檔案建立ASM例項ASM
- 建立ASM例項和資料庫ASM資料庫