学了反射,今天打算用反射模框架。
设计思想是创建一个MyControler 类,作为框架控制器,再创建两个“模型”一个叫FrameClass1,另一个名为FrameClass2.
新建一个配置文件,名为config properties 内容为:
把配置文件放到包目录下。
用MyControler 类读取配置文件的className 属性值。再用Class 的forName(String name) 方法返回配置文件中对应类的对象。
但结果失败了,运行时报“java.lang.ClassNotFoundException: FrameClass1”异常。Java虚拟机找不到这个类,到底为什么呢?
刚才把这个问题解决了,是我粗心,配置文件应该连同包名一起写。配置文件应该是这样的:
我把程序改成下面这样子了,
打印结果:
class blh.review.reflect.FrameClass2
说明找到配置文件描述的类了,但是不能调用它的方法。