如果我有一个超类和子类如下
class Superclass {
public void someMethod() {
System.out.println("superclass called here");
}
}
和
class Subclass extends Superclass {
public void someMethod() {
System.out.println("subclass called here");
}
}
假设我有一个对象,其类是子类,比如Subclass sc = new Subclass();
。我知道我可以在子类的方法中使用super.someMethod();
来调用超类的方法。但有没有办法可以在对象sc上调用supclass方法而不必通过同名的子类方法?
P.S。这个问题来自于Java课程中UCB数据结构的一个小任务。 第四部分,问题三。 CS 61B Lab 5
答案 0 :(得分:0)
没有。多数民众赞成不可能。此外,从面向对象的角度来看,祖先类不应该知道它们的后代,所以如果你需要这样的东西,那么最好重新设计你的类。
编辑:也许可以使用一些类路径遍历和反射来实现,但我强烈建议不要这样做(见上文)。