1. 程式人生 > >(重要)Java反射機制(容易理解)

(重要)Java反射機制(容易理解)

import java.lang.reflect.Method; class A {     private void cube (int n) {         System.out.println(n * n * n);     }     private void haha (int b) {         System.out.println(b * b);     } } class 反射 {     public static void main (String[] args) throws Exception {         Class<?> c = A.class;         Object obj = c.newInstance(); //相當於new A();         //返回類的方法陣列         Method m = c.getDeclaredMethod("cube", new Class[] {int.class});//method修改許可權         Method m2 = c.getDeclaredMethod("haha", new Class[] {int.class});//method修改許可權         m.setAccessible(true); //設定方法cube許可權為可訪問         m.invoke(obj, 4);         m2.setAccessible(true); //設定方法haha許可權為可訪問         m2.invoke(obj,4);         /*         invoke方法可以把方法引數化         invoke(class, method)         比如你Test類裡有一系列名字相似的方法setValue1、setValue2等等         可以把方法名存進陣列v[],然後迴圈裡invoke(test,v[i]),就順序呼叫了全部setValue          */     } }