java三种获取类的方法

public static void main(String[] args) throws ClassNotFoundException {
Class<?> aClass = Class.forName("com.wy.five.TestDaoImpl");
System.out.println(aClass);
TestDaoImpl testDao = new TestDaoImpl();
System.out.println(testDao.getClass());
Class<TestDaoImpl> testDaoClass = TestDaoImpl.class;
System.out.println(testDaoClass);

  System.out.println(aClass == testDao.getClass());
  System.out.println(aClass == testDaoClass);

}
class com.wy.five.TestDaoImpl
class com.wy.five.TestDaoImpl
class com.wy.five.TestDaoImpl
true
true

通过上述比较三个对象的结果可以得出一个结论:同一个字节码文件(*.class)在一次程序运行过程中,只会被加载一次,无论通过哪一种方式获取的Class对象都是同一个。

原文地址:https://www.cnblogs.com/wuya0117/p/13901427.html