获取类的字节码对象(Class类型对象)的三种方式
1、对象名.getClass():返回的是某个引用指向的具体对象所属的运行时类的字节码对象。获取到的是那个真正用来创建对象的子类的字节码对象。
2、类名.class:如果已经有了类名,可以通过.class的方式获取这个类的字节码对象。
3、通过Class.forName(String className):Class类中的一个静态方法,可以根据一个类的全类名(全路径名:包名+类名),动态的加载某个类型。传入一个类的全类名,将类名描述的字节码文件,加载到内存中,形成一个字节码对象,并且把这个对象作为该方法的返回值。(在调用方法之前,是内存中没有这个字节码对象的)
【注意事项】
- class文件在内存中只有一份,同一个类的字节码文件一样
- ==既可以比较基本数据类型(本身),也可以比较引用数据类型(地址);
equals只能比较引用数