java反射(一)

java反射第一部分

万物皆对象

java中类也是对象,类是java.lang.Class类的实例对象,任何一个类都是Class类的对象,有三种表示方式:

1
2
3
4
5
6
7
8
9
//假设现在有一个类为yomosir.test.Test.java
//第一种表示方式,一直类名:
Class c1 = Test.class;
//第二种表达方式,一直该类的一个对象t1:
Class c2 = t1.getClass();
//第三种方式为:
Class c3 =Class.forName("yomosir.test.Test");
//通过类的类类型进行类的实例化
c1.newInstance();

c1,c2,c3均为类的类类型,一个类只可能是一个Class类的实例对象。并且可以通过类的类类型进行创建类的实例化。这也是类的实例化的一种方法。

类的动态加载和静态加载

  • 在编译时加载类称之为静态加载,用new创建对象是静态加载类,在编译时便会加载所有可能需要的类。
  • 在运行时加载类称之为动态加载类
    1
    Class.forName("类的全称");//类的动态加载