java反射机制
反射机制是java语言中一个非常重要的特性,允许程序在运行时进行自我检查,同时也允许对其内部成员进行操作。
反射机制的功能:①.得到一个对象所属的类;②.获取一个类的所有成员变量和方法;③.在运行时创建对象;④.在运行时调用对象的方法。
class Base{
public void f(){
System.out.println("Base");
}
}
class Sub extends Base{
public void f(){
System.out.println("Sub");
}
}
public class Test{
static public void main(String[] args){
try{//使用反射机制加载类
Class c=Class.forName("Sub");
Base b=(Base)c.newInstance();
b.f();
}
catch(Exception e){
e.printStackTrace();
}
}
}
程序运行结果:
Sub
在反射机制中获取class类的方法:
1.Class.forName(“类的路径”)
2.类名.Class
3.实例.getClass()
java创建对象的方式:
1.通过new语句实例化一个对象
2.通过反射机制创建对象
3.通过clone()方法创建一个对象
4.通过反序列化的方式创建对象