Java反射初步學習

自己對於java反射機制的初步學習,瞭解到反射的功能強大,寫一些簡單的代碼以便自己以後參考。

package ch15;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

class A{
    public void print1(){
        System.out.println("這是一個公有方法");
    }
    private void print2(){
        System.out.println("這是一個私有方法");
    }
}

public class Reflection {
    public static void main(String[] args) throws Exception{
        A a = new A();
        //反射調用共有方法
        Method p = a.getClass().getMethod("print1");
        p.invoke(a);
        //a.print2(); print2爲私有方法不可直接調用,但是利用反射可以調用
        //反射調用私有方法
        Method p1= a.getClass().getDeclaredMethod("print2");
        p1.setAccessible(true);
        Object object = p1.invoke(a);
    }
}

運行結果如圖,可以通過反射機制調用到A類的私有方法。

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章