课程名称:java反射的基本操作
课程章节:第五
主讲老师:Cedar
课程内容:
//java获取方法 public class MethodDemo1 { public static void main(String[] args) { /** *获取print(int int)方法 1:获取一个方法就是获取类的信息 * 首先要获取类信息的类类型 * */ A a1 = new A(); Class c = a1.getClass(); //2:获取方法,名称和参数列表来决定 try { //方法可能不存在,所以要抛出异常 Method m = c.getDeclaredMethod("print", new Class[]{int.class, int.class}); //方法的反射操作:用m对象来调用方法,等同于a1.print() //方法如果没有返回值,返回null,如果有返回返回值 // Object o = m.invoke(a1, new Object[]{10, 20}); Object o = m.invoke(a1,10,20); System.out.println("================="); //获取方法对象print(String,String) Method m1 = c.getMethod("print", String.class, String.class); //用方法进行反射操作 o = m1.invoke(a1,"hello","World"); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } // c.getMethod(); } } class A{ public void print(int a, int b){ System.out.println(a + b); } public void print(String s , String ss){ System.out.println(s.toUpperCase() + "," + ss.toUpperCase()); } }
课程收获:
通过反射获取指定对象中的所有public或者声明方法,都是可以做到的,这些都是之前没有触及或者说没有想到过的,所以说,还是要加油学习,学的越多,了解的越多!!
加油加油,fighting!
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫(xiě)下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得
100積分直接送
付費(fèi)專(zhuān)欄免費(fèi)學(xué)
大額優(yōu)惠券免費(fèi)領(lǐng)