反射之Class类的使用
Posted Format_all
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反射之Class类的使用相关的知识,希望对你有一定的参考价值。
任何一个类都是Class类的实例对象,这个实例对象有三种表示方式
- 第一种表示方式(任何一个类都有一个隐含的静态成员变量class):
1 Class c1 = Foo.class;
- 第二种表示方式(已知该类对象,通过getClass方法):
1 Foo foo1 = new Foo(); 2 Class c2 = foo1.getClass();
※ c1、c2表示了Foo类的类类型(class type)
- 第三种表示方式
1 Class c3 = null; 2 try { 3 c3 = Class.forName("com.format.test.Foo"); 4 } catch (ClassNotFoundException e) { 5 e.printStackTrace(); 6 }
※ 通过类的类型创建该类的对象实例
1 try { 2 Foo foo2 = (Foo) c1.newInstance(); //需要有无参构造 3 } catch (InstantiationException e) { 4 e.printStackTrace(); 5 } catch (IllegalAccessException e) { 6 e.printStackTrace(); 7 }
以上是关于反射之Class类的使用的主要内容,如果未能解决你的问题,请参考以下文章