当前位置: 首页 > 面试题库 >

Java继承-调用超类方法

段干德泽
2023-03-14
问题内容

假设我有以下两个课程

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类型的新对象,如何执行alphamethod1在alpha类而不是beta中找到的逻辑?我可以使用super().alphaMethod1()<-我想知道是否可行。

Eclipse IDE中的自动键入功能使我可以选择alphamethod1从class alpha或class中进行选择beta


问题答案:

你可以做:

super.alphaMethod1();

注意,这super是对父级的引用,但是super()是它的构造函数



 类似资料:
  • 嘿,我正在尝试调用子类方法(ChildClass扩展了超类()) 它没有看到ChildClass方法,我只能调用SuperClass()中的方法,我知道这可能是一个愚蠢的问题,但无论如何干杯

  • 问题内容: 所有自定义类/对象的超类是否隐式继承?我以为Java不支持多重继承。我问的原因是,如果我已经从我的自定义类中的另一个类继承了,并且Java再次在它之上强制隐式继承,这不是多重继承吗? 另外,java.lang.class类还是所有自定义类/对象的超类吗?如果没有,如何在Java反射中获取传递的任何类的类类型,或如何在任何对象上调用isInstance? 问题答案: 一切都是对象,说您可

  • 问题内容: 我有一个带有很多参数的基类: 所有继承类都应运行基类的方法。 我可以在每个继承的类中编写一个将调用超类的方法,但这将是严重的代码重复: 自动调用超类的最Pythonic方法是什么? 问题答案: 如果有助于解决您的噩梦,请考虑使用 args和* kw。

  • 我想用PHP在我的简单ORM中实现一个钩子系统: 这会导致一个致命错误: 致命错误:调用私人方法付款::before_save()从上下文'记录'中 有道理。 我可以将范围更改为public,但这似乎很难看:在保存()之前,除了支付之外,没有人与

  • 我有一个扩展了B类的a类。 A是这样定义的,它也覆盖了B的方法: B是这样定义的: 因此,如果我初始化A的一个对象,构造函数将调用调用方法doSomething()的超类之一。但哪一个会被处决?B的实现还是A中被重写的实现?