Java面試基礎篇——第十篇:反射的原理

什麼是Java的反射機制?指在運行狀態中,對於任意一個類,都可以知道這個類的全部屬性和方法。對於任意一個對象,都能調用它的任意一個方法。這種動態獲取信息,以及動態調用對象方法的功能叫Java語言的反射機制. 經過Java的反射機制,能夠在運行期間調用對象的任何方法,先看一個簡單的demojava

/**
 * @author Lee
 * @// TODO 2018/7/24-13:07
 * @description 反射demo
 */
public class ReflectDemo {
    public static void main(String[] args) throws Exception {
        Class clazz = Class.forName("com.developlee.springmvclearn.reflect.Reflect");
        Object object = clazz.newInstance();
        Method method = clazz.getDeclaredMethod("say");
        method.invoke(object);
    }
}
//測試類
public class Reflect {
    public void say(){
        System.out.println("Hello");
    }
}

反射建立類實例的三種方式spring

Reflect reflect = new Reflect(); //Reflect 的實例對象reflect
   //Reflect 也是一個實例對象,它是Class類的實例對象
   Class class1 = Reflect.class; //第一種形式:任何一個類低都隱含一個靜態成員變量class
   Class class2 = reflect.getClass(); // 第二種形式: 已知該類的對象,經過getClass()方法獲取
   Class class3 = Class.forName("com.developlee.springmvclearn.reflect.Reflect");//第三種形式
   System.out.println(class1 == class2);
   System.out.println(class1 == class3);

無論class1,class2,class3 都表明了Reflect類的類類型,一個類只多是Class,便是類的一個實例對象mvc

相關文章
相關標籤/搜索