加载XX.class文件进内存时就被封装成了对象,该对象就是字节码文件对象。如何获取Class对象呢? 方式一: 通过对象的getClass方法进行获取。 如:Classclazz=new Person().getClass();//Person是一个类名 麻烦之处:每次都需要具体的类和该类的对象,以及调用getClass方法。 方式二: 任何数据类型都具备着一个静态的属性class,这个属性直接获取到该类型的对应Class对象。 如:Classclazz=Person.class;//Person是一个类名 比第一种较为简单,不用创建对象,不用调用getClass方法,但是还是要使用具体的类,和该类中的一个静态属性class完成。 方式三: 这种方式较为简单,只要知道类的名称即可。不需要使用该类,也不需要去调用具体的属性和行为。就可以获取到Class对象了。 如:Classclazz=Class.forName("包名.Person");//Person是一个类名 这种方式仅知道类名就可以获取到该类字节码对象的方式,更有利于扩展。
|