java.lang.Class

今天没有事的时候看了下Class的代码,发现了不少有意思的东西。

第一个就是Class的构招函数是private的,上面还有一段解释,就是只有jvm才能生成Class对象。

还有就是forName(String Name)这个方法,这个方法,会按照这个名字载入类,然后在通过

T newInstance 这个方法,就可以动态的生成instance了,不过它只能调用无参数的构造函数生成insatcne.

forName(String Name,boolean ,ClassLoader),这个方法是forName(String Name)里默认调用的方法,可以看出所有的类都是通过ClassLoader载入的

通过Class这个类还可以获得很多有用的东西例如方法啊,构造函数啊,还有实现了那些接口啊什么的,记得在书里看到过,正是因为java有Class这个对象,才让java具备了运行间查看类详细的条件,实现映射的功能。

通过CLass这个类,在使用面向接口编程,就可以实现一个简单的工厂,如果深入一些的话,也可以象,Spring那样实现复杂的工厂。

你可能感兴趣的:(java,spring,jvm,编程)