我有以下内容,
public interface SuperbInterface
public class A implements SuperbInterface
public class B extends A
public class C extends B
我想实例化C
,但我似乎得到了B
,我做错了什么?
Class classz = Class.forName("C");
SuperbInterface superb = (SuperbInterface)classz.newInstance();
//Here when I debug it seems to be going to B.doWork() methods instead of C.doWork().
superb.doWork();
最佳答案
我唯一能想到的是你没有在 C 中覆盖 doWork()。
也许您已经尝试过 ot override 但方法名称或参数有一些拼写错误?
关于Java从字符串实例化类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5178205/