如果说类是对象的抽象和集合的话,那么Class类就是对类的抽象和集合。每一个Class类的对象代表一个其他的类。Java中每个对象都有相应的Class类对象,我们都有可能能通过Class对象知道某一个对象所属的类。
当我们通过某个引用调用方法时,Java总能找到正确的Class类中所定义的方法,并执行该Class类中的代码。由于Class对象的存在,Java不会因为类型的向上转换而迷失。这就是多态的原理。
无论我们对引用进行怎样的类型转换,对象本身所对应的Class对象都是同一个。
Class对象记录了相应类的信息,比如类的名字,类所在的包等等。我们可以调用相应的方法来实现。 可以利用Class对象的方法来创建相应类的对象,也可以获得类定义的成员,可以进一步使用Reflection分析类。这里不再深入。
Class类的加载方式,当Java创建某个类的对象,比如Human类对象时,Java会检查内存中是否有相应的Class对象。如果内存中没有相应的Class对象,那么Java会在.class文件中寻找Human类的定义,并加载Human类的Class对象。
西安达内专注java培训,给您提供最详细易懂的java知识。