1
如果我有一个超类和子类如下有没有办法在不通过相同名称的子类方法的情况下在子类对象上调用超类的方法?
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.这个问题来自UCB的Java数据结构课程的一小部分。 第四部分,问题三。 CS 61B Lab 5
你的问题不清楚。 '而不必通过同名的子类方法' - 这是什么意思? – Rehman
我认为从来没有人想到过这种有效的用例,通常是设计一个类层次结构,其中方法被明确地设计为被覆盖。 – Smutje
如果你经常发现自己调用'super.'方法,你应该停下来重新考虑你的设计。 – biziclop