java反射
阿新 • • 發佈:2017-07-03
堆內存 操作類 span font java 安全 整形 class tcl
反射機制
- 指的是可以於運行時加載,探知和使用編譯期間完全未知的類.
- 反射(Reflection)是java被視為動態語言的一個關鍵特性;
- 反射機制指的是程序在運行時能夠獲取任何類的內部所有信息;
- 加載完類之後, 在堆內存中會產生一個Class類型的對象(一個類只有一個Class對象), 這個對象包含了完整的類的結構信息,而且這個Class對象就像一面鏡子,透過這個鏡子看到類的結構,所以被稱之為:反射。
Class對象的獲取
- 對象的getClass()方法;
- 類的.class(最安全/性能最好)屬性;
- 運用Class.forName(String className)動態加載類,className需要是類的全限定名(最常用).
-
//獲取Class對象第一種方式 Class class1 = Class.forName("com.oaec.user.User"); //獲取Class對象第二種方式 Class class2 = User.class; //獲取Class對象第三種方式 Class class3 = (new User()).getClass();
創建對象:獲取類以後我們來創建它的對象,利用newInstance:
Class c =Class.forName("Employee");
//創建此Class 對象所表示的類的一個新實例
Objecto = c.newInstance(); //調用了Employee的無參數構造方法.
Class對象的機制與實現
1、Class對象概述
1)Class其實就是類的類型
2)字符串類型就是String,整形類型就是Integer,String和Integer類型就是Class
2、Class對象的常用方法介紹
Field對象的機制與實現
1、Field對象概述
1)Java.lang.reflect.Field類,是用於表示類中、接口中屬性對象的類。
2)可以操作類中私有,以及公有等全部屬性和屬性的信息。
2、Field對象的常用方法介紹
java反射