读书人

调用接口的继承类编译时是不是不能使

发布时间: 2012-01-08 22:48:50 作者: rapoo

调用接口的继承类,编译时是不是不能使这些继承类得到编译?
问题是这样的,
一个类A调用了一个接口Common,放在包pk1.pk2内
Comman有继承类B,放在包pk1内
A中相关的语句为:Common cn = (Common)Class.forName( "pk1.B ").newInstance();
cn.B中的方法;

但是编译完A之后,却发现B没有得到编译,且系统显示找不到类pk1.B

后来,我想办法在A中直接调用B,将B编译成class文件之后,程序才找到了pk1.B,得以运行正常。

也就是说,以这种方法不能使这些继承类得到编译,为什么呢?
(本来我的目的是使继承类与类A和接口Common分离,以后再增加继承类,不需要更改A和Common)

[解决办法]
你B对象里面是不是又调用A了?循环调用会这个样子,这是不正确的
[解决办法]
先编译B,再编译A,B编译不了与你的编译设置有关,楼主是如何编译的?
[解决办法]
因为你这里用的是Class.forName().

读书人网 >J2SE开发

热点推荐