当前位置:主页 > 软件编程 > JAVA代码 >

老生常谈反射之Class类的使用(必看篇)

时间:2021-12-18 10:09:16 | 栏目:JAVA代码 | 点击:

任何一个类都是Class类的实例对象,这个实例对象有三种表示方式

第一种表示方式(任何一个类都有一个隐含的静态成员变量class):

Class c1 = Foo.class; 

第二种表示方式(已知该类对象,通过getClass方法):

Foo foo1 = new Foo(); 2 Class c2 = foo1.getClass(); 

c1、c2表示了Foo类的类类型(class type)

第三种表示方式

Class c3 = null;
try {
  c3 = Class.forName("com.format.test.Foo");
} catch (ClassNotFoundException e) {
  e.printStackTrace();
}

通过类的类型创建该类的对象实例

try {
  Foo foo2 = (Foo) c1.newInstance(); //需要有无参构造
} catch (InstantiationException e) {
  e.printStackTrace();
} catch (IllegalAccessException e) {
  e.printStackTrace();
}

您可能感兴趣的文章:

相关文章