java——Class、动态加载
Class和Object混淆了?
Object: 任何类都是Object类的子类
Class: 任何类都是Class的实例对象
Class可以说是一种特殊的类,它表示的是类类型,Object仍然是Class类的父类,而Object也会有它自己的类类型:java.lang.Object。
import X_X.model.user.User; public class T{ public static void main(String[] args) { User user = new User(); Object o = new Object(); Class c1 = user.getClass(); Class c2 = o.getClass(); System.out.println(c1); System.out.println(c2); } }
输出:
class X_X.model.user.User
class java.lang.Object
动态加载、静态加载:
动态加载:
import X_X.model.user.User; public class T{ public static void main(String[] args) throws Exception{ Class c = Class.forName("X_X.model.user.User"); User user = (User)c.newInstance(); System.out.println(user); } }
静态加载:new创建对象是静态加载,在编译时刻就需要加载所有可能使用到的类。