Java反射-Method
来源:互联网 发布:网络爬虫php 编辑:程序博客网 时间:2024/05/23 12:48
java的反射机制真的很强大,在这里总结了一些Method的基本应用。
import java.lang.reflect.Method;import java.util.Date;/** * ReflectMethod.java * 2017年11月8日 *利用反射来调用方法并执行 */class Person{ public void doWork(){ System.out.println("Person.doWork()"); } public String doWork(String name){ System.out.println("Person.doWork():"+name); return name; } private String sayHello(String name, int age){ System.out.println("Person.doWork():"+name+age); return name+":"+age; }}public class ReflectMethod { public static void main(String[] args) throws Exception { //1.调用person类中的doWork()方法 Class cla=Person.class; //获取doWork()方法 Method m=cla.getMethod("doWork"); //创建cla的对象调用doWork方法,ret为返回值,由于该方法没有返回值,所以输出NULL Object ret = m.invoke(cla.newInstance()); System.out.println(ret); /*输出:Person.doWork() null */ //2.调用person类中的doWork(String name)方法 m=cla.getMethod("doWork", String.class); ret=m.invoke(cla.newInstance(), "Will"); System.out.println(ret); /*输出:Person.doWork():Will Will */ //3.调用person类中的私有方法:sayHello(String name, int age) m=cla.getDeclaredMethod("sayHello", String.class,int.class); //设置可访问私有的成员 m.setAccessible(true); ret=m.invoke(cla.newInstance(), "Will",17); System.out.println(ret); /*输出:Person.doWork():Will17 Will:17 */ //将日期类赋给Object对象来调用Date中的方法 Object obj=new java.util.Date();//此时obj不能调用Date中的方法,他是Object对象 //通过getClass()方法来获取obj的真实类.并获取toLocalString方法 Method m1=obj.getClass().getMethod("toLocaleString"); Object s=m1.invoke(obj); System.out.println(s);//2017-11-8 15:46:02 }}
阅读全文
1 0
- Java 反射机制[Method反射]
- java反射--METHOD
- java反射-Method
- Java反射机制-method
- java反射之Method
- java 反射method 相关
- Java反射-Method
- 【java】反射,关于Method类
- java反射的Method回调
- Java从入门到精通 - 反射Method
- 黑马程序员--java 反射之method 类
- java的method反射机制(一)
- java的method反射机制(二)
- java 反射类Method的使用
- Java反射之Method(一)
- java Method反射为属性赋值
- 常用java反射机制 和 Method.invoke
- Java反射(四) 方法Method
- 安卓中Rxjava(观察者模式、异步)的简单使用(1) 观察者与被观察者线程之间的关系
- 安卓自定义view
- android TextView滚动和转义换行等相关问题
- python I/O编程小笔记
- windows系统 忘记mysql密码解决方案
- Java反射-Method
- PHP限制网页只能在微信内置浏览器中查看并显示
- 最简单的基于FFmpeg的AVDevice例子(屏幕录制)
- ElasticSearch入门
- Android自定义控件9----scrollTo/scrollBy实现滑动和直接绘制滑动的对比使用demo测试
- 【复杂网络】当机器学习遇上复杂网络:解析微信朋友圈 Lookalike 算法
- 搜狗输入法繁简体切换
- 跨域访问nodejs,ie获取不到cookie
- 数据挖掘与机器学习之交叉验证