java 反射
来源:互联网 发布:linux dns反向解析 编辑:程序博客网 时间:2024/05/29 15:24
直接上代码。。。
package test;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
public class IOCTest {
public static void main(String[] args) throws Exception{
//获取classLoder 类对象(获取当前县城对象根据当前线程获取ClassLoader)
ClassLoader classLoder = Thread.currentThread().getContextClassLoader();
//根绝loaderClass 获取class 对象
Class clazz = classLoder.loadClass("test.Person");
//获取当前类的构造方法 参数是class[] 数组里面是构造方法参数的类型的class 形式
Constructor cons = clazz.getConstructor(new Class[]{int.class,String.class});
//根据构造方法对象调用newInstance 方法获取类对象
Person person = (Person)cons.newInstance(25,"张飞");
Person person1 = (Person)cons.newInstance(250,"张飞张飞");
//根绝类对象获取类中指定的方法
Method getNum = clazz.getMethod("getNum", null);
//通过反射 调 用指定类中的 方法
getNum.invoke(person, null);
Method getColor = clazz.getMethod("getColor", null);
System.out.println(getColor.invoke(person, null));
Method setColor = clazz.getMethod("setColor", String.class);
System.out.println(setColor.invoke(person, "王二"));
System.out.println(getColor.invoke(person, null));
Method getNum1 = clazz.getMethod("getNum", null);
getNum1.invoke(person1, null);
Method getColor1 = clazz.getMethod("getColor", null);
System.out.println(getColor1.invoke(person1, null));
Method setColor1 = clazz.getMethod("setColor", String.class);
System.out.println(setColor.invoke(person1, "王二王二"));
System.out.println(getColor.invoke(person1, null));
//System.out.println(person.getNum()+person.getColor());
}
}
/**
*person 类 就是一个普通的 VO对象类
*/
package test;
import java.io.Serializable;
public class Person implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
int num;
String color;
public String test(){
System.out.println("test1");
return "test2";
}
public Person(){}
public Person(int num,String color){
this.num = num;
this.color = color;
}
public int getNum() {
System.out.println(num);
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
- 【反射】JAVA反射机制
- JAVA 反射
- java 反射
- Java反射
- java反射
- java反射
- JAVA反射
- java 反射
- Java 反射
- java 反射
- Java反射
- java反射
- JAVA 反射
- java 反射
- Java反射
- java反射
- java 反射
- java 反射
- 关于first集和follow集
- Qt获取本机信息(网络+系统信息)----StateReader系列
- 多线程
- iOS酷我音乐导出工具使用说明和原理介绍(提供下载链接及工程源码)
- ubuntu系统根目录下各个目录用途说明
- java 反射
- 条款23:理解std::move和std::forward
- mars安卓
- 深入云存储系统Swift核心组件:Ring实现原理剖析
- Codeforces Round #226 (Div. 2) E---Bear in the Field(矩阵)
- Oracle11新特性——虚拟列
- python爬虫爬学校民主湖论坛(3)----------多线程搜索帖子
- Nginx + CGI/FastCGI + C/Cpp
- mysql移置之将latin1编码更换为utf-8编码