【发布时间】:2017-12-14 17:16:18
【问题描述】:
遵循超类/子类关系:
public abstract class A {
public Class<? extends A> getSubClass() {
Class<? extends A> clazz = ???
}
}
public class B extends A {
/* some implementation*/
}
public class Foo {
public static void main(String... args) {
A a = new B();
a.getSubClass();
}
}
有没有办法让b.getSubClass()返回 acutall 子类类型?
【问题讨论】:
-
呃...用
getClass()替换???? -
@Kayaman 我应该投反对票,我自己的例子不对,我更正了 - 对不起:-(
-
是一样的。即使你可以打电话给
a.getClass()。这真的是你的问题,还是你想要理解的其他东西? -
@Kayaman 现在我完全糊涂了。我从事 Java 开发多年,并认为我对此进行了测试,但它不起作用。如果日子很长,就会发生奇怪的事情。无论如何,感谢您的帮助!
标签: java inheritance