反射之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类的使用的主要内容,如果未能解决你的问题,请参考以下文章

JAVA反射之CLass类的练习

Java基础之反射注解代理

学习大数据:Java基础篇之反射

java 27 - 1 反射之 类的加载器

Java 反射之Class类的理解以及获取Class的实例

java之反射