在JAVA中,每个Class类都一个与他相对应的一个Class对象,换句话说,就是在编写一个类后,在生成.Class字节流文件中,它都会产生一个Class对象,来描述这个类的类型信息。
我们可以通过三种方式来获取它:
(1)可以利用对象来调用getClass(),来获取此对象的Class实例。
ep:Point pt = new Point();//定义一个Point类型的对象
Class c1 = pt.getClass();//通过它的对象来获取它的Class实例
(2)通过Class类中提供的一个静态方法forName(String className)来获取他的名为“className”的Class实例。
注:此方法抛出一个没有发现的异常,所以使用的时候要捕获异常。
ep:try{
Class c2 = Class.forName("Point");
}
catch(Exception e){
e.printStackTrace();
}
(3)运用.class方法来获取Class实例。
ep:Class c3 = Point.class;
Class c4 = int.class;
Class c6 = Integer.class;
(4)对于基本类型的封装类,我们还可以用.TYPE来获取基本类型的Class实例。
ep: Class c5 = Integer.TYPE;
在运行时,如果要 产生某个类的对象,JVM会检查类型Clas对象是否被加载到内存中,如果没有被加载JVM会根据文件名去找到.class文件并加载。如果该Class对象已经被加载到内存,我们就可以根据它来产生该类型的所有对象。
加油... 我是初学者... 每天坚持都写一些心得...