[size=medium]反射
[/size]
[/size]
用于工具,架构,动态开发等开发工程
三种得到类对象的途径:
Class.forName(“name”) //输入全类名
object.getClass() //得到该对象的类对象
object.class
无参构造一个对象
newInstance()
有参的构造一个对象
Constructor con=c.getConstructor(String.class)
Object o=con.newInstance(“liucy”);
调用对象方法
Class newClass=Student.class; //得到一个类对象
Object o = newClass.newInstance(); //产生对象
Method newMethod = newClass.getDeclaredMethod("study");//得到这个类的方法类
newMethod.invoke(o);//调用方法,需要提供是哪个对象调用和参数
1) 确定一个对象的类;
2) 获得一个类的修改符、变量、方法、构器函数、和父类的相类信息;
3) 找出哪些常量和方法是从一个接口声明的;
4) 创建一个在运行时才知道名称的类;
5) 调用对象的方法;