【发布时间】:2011-10-17 07:29:38
【问题描述】:
假设我有以下两个类
public class alpha {
public alpha(){
//some logic
}
public void alphaMethod1(){
//some logic
}
}
public class beta extends alpha {
public beta(){
//some logic
}
public void alphaMethod1(){
//some logic
}
}
public class Test extends beta
{
public static void main(String[] args)
{
beta obj = new beta();
obj.alphaMethod1();// Here I want to call the method from class alpha.
}
}
如果我启动一个 beta 类型的新对象,我如何执行在 alpha 而不是 beta 类中找到的 alphamethod1 逻辑?我可以使用super().alphaMethod1()
Eclipse IDE 中的 Autotype 让我可以从 alpha 类或 beta 类中选择 alphamethod1。
【问题讨论】:
-
试试不带括号的 super。
-
super.alphaMethod1()实际上。你为什么不试着看看会发生什么;)?此外,这个问题可能已经被问了数百次了...... -
我知道这个问题现在已经很老了,但是如果您知道有任何重复,那么将该问题标记为重复。这现在是谷歌上的最高结果并且得到了很好的回答!
标签: java inheritance methods superclass