通过Java的反射机制创建运行时类的对象并调用其结构
2015-03-08 16:04
711 查看
package com.yuxinyicheng.test2;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
publicclassTestReflection {
publicstaticvoid main(String[] args)
throws Exception, Exception {
//通过反射的方法创建对象和调用结构
//操作公有的属性
Classclazz=Person.class;
Personp=(Person) clazz.newInstance();
Fieldname=clazz.getField("name");
name.set(p,"dd");
System.out.println(p);
//操作非公有的属性
Classclazz1=Person.class;
Personp1=(Person) clazz1.newInstance();
Fieldage=clazz1.getDeclaredField("age");//对于非公有的要改为获得declaredfield属性
age.setAccessible(true);//对于非公有的如果要访问他的属性值的话得这样写。
age.set(p1,20);
System.out.println(p1);
//获取不带参数的方法
Methodshow=clazz.getMethod("show");
show.invoke(p);
Methoddisplay=clazz.getMethod("display", String.class);//后面的是参数的对象
display.invoke(p1,"555");
}
}
import java.lang.reflect.Field;
import java.lang.reflect.Method;
publicclassTestReflection {
publicstaticvoid main(String[] args)
throws Exception, Exception {
//通过反射的方法创建对象和调用结构
//操作公有的属性
Classclazz=Person.class;
Personp=(Person) clazz.newInstance();
Fieldname=clazz.getField("name");
name.set(p,"dd");
System.out.println(p);
//操作非公有的属性
Classclazz1=Person.class;
Personp1=(Person) clazz1.newInstance();
Fieldage=clazz1.getDeclaredField("age");//对于非公有的要改为获得declaredfield属性
age.setAccessible(true);//对于非公有的如果要访问他的属性值的话得这样写。
age.set(p1,20);
System.out.println(p1);
//获取不带参数的方法
Methodshow=clazz.getMethod("show");
show.invoke(p);
Methoddisplay=clazz.getMethod("display", String.class);//后面的是参数的对象
display.invoke(p1,"555");
}
}
相关文章推荐
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- Java通过反射机制使用非默认构造器创建对象
- protobuf在java应用中通过反射动态创建对象(DynamicMessage)
- Java之反射类的构造函数,通过单元测试反射创建类的对象
- protobuf在java应用中通过反射动态创建对象
- [Java] - 通过反射调用对象的方法
- java中反射机制通过字节码文件对象获取字段和函数的方法
- Java通过反射机制动态设置对象属性值
- java 程序加载过程---3--类中申明同时申明类的静态对象 创建类的实例 访问类的静态变量 调用类的静态方法 使用反射方法 初始化类的子类对象 直接使用java.exe 调用某个类
- Java 通过反射机制动态调用java类方法