1. 程式人生 > >java反射

java反射

堆內存 操作類 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反射