class base
{
public void superMethod()
{
System.out.println("Hello i m a super class method");
}
}
class der extends base
{
super.superMethod();// error identifier expected
}
我需要调用基类方法而不将其重载到derive类中,请为我提供解决方案
答案 0 :(得分:4)
除了调用方法之外,您不必执行任何操作。您确实需要在实例方法,构造函数或实例初始化程序块中执行此操作。如果在覆盖方法时必须进行区分,则只需要super关键字。
class Base
{
public void superMethod()
{
System.out.println("Hello i m a super class method");
}
}
class Der extends base
{
public void method()
{
superMethod();// error identifier expected
}
public void superMethod()
{
super.superMethod()
}
}
答案 1 :(得分:4)
您不能将代码放在方法中。以下应该有效:
class base {
public void superMethod() {
System.out.println("Hello i m a super class method");
}
}
class der extends base {
public void someMethod() {
super.superMethod();
}
}
答案 2 :(得分:2)
你不需要做任何特别的事情。只需在基类中调用该方法即可。由于您没有重载它,它将自动调用基类方法。
答案 3 :(得分:1)
您可以按照以下示例调用超类方法。
class base
{
public void superMethod()
{
System.out.println("hello i m a super class method");
}
}
class der extends base
{
{
super.superMethod();
}
}
class Supertest
{
public static void main(String args[])
{
new der();
}
}
答案 4 :(得分:0)
class base{
public void superMethod(){
System.out.println("hello i am super class method");
}
}
class der extends base{
void supermethod(){
super.superMethod();
System.out.println("hello this is der class");
}
}
class mainclass{
public static void main(String[] args){
der r=new der();
r.supermethod();
}
}