一、反射 1.在Java虛擬機種,只有一個類,所有使用使用反射機制的時候,創建多少個引用都是指向同一個類的。 2.通過Class類對象創建java對象 package com.bjpowernode.java_learning; import com.bjpowernode.java_learni ...
一、反射
1.在Java虛擬機種,只有一個類,所有使用使用反射機制的時候,創建多少個引用都是指向同一個類的。
2.通過Class類對象創建java對象
package com.bjpowernode.java_learning; import com.bjpowernode.java_learning.A113; public class D113_ReflectTest02 { public static void main(String[] args) throws Exception{ //將A113.class文件轉載到JVM中的過程。 // Class.forName("A113"); //不會執行靜態語句塊 Class c = A113.class; System.out.println("====="); //下麵的語句會執行靜態語句塊 A113 a = new A113(); Class c2 = a.getClass(); //獲取Class類型的對象之後,可以創建該“類”的對象 Object o = c.newInstance();//調用了A113的無參數構造方法 System.out.println(o.toString()); } }
package com.bjpowernode.java_learning; public class A113 { static { System.out.println("A....."); } public A113() { System.out.println("我是一個無參數構造方法"); } }
遺留問題:為什麼創建的對象執行了兩次構造方法
二、源碼:
D113_ReflectTest02.java
A113.java
https://github.com/ruigege66/Java/blob/master/D113_ReflectTest02.java
https://github.com/ruigege66/Java/blob/master/A113.java
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關註微信公眾號:傅里葉變換,個人公眾號,僅用於學習交流,後臺回覆”禮包“,獲取大數據學習資料