当前位置:  开发笔记 > 编程语言 > 正文

在Java中,如何从派生类中的重写方法调用基类的方法?

如何解决《在Java中,如何从派生类中的重写方法调用基类的方法?》经验,为你挑选了6个好方法。

我有两个Java类:B,它扩展了另一个类A,如下所示:

class A {
    public void myMethod() { /* ... */ }
}

class B extends A {
    public void myMethod() { /* Another code */ }
}

我想打电话A.myMethod()B.myMethod().我来自C++世界,我不知道如何在Java中做这个基本的事情.



1> unwind..:

您正在寻找的关键字是super.例如,请参阅本指南.


看起来在C++中你可以调用一个特定的祖先方法,但不是java,你可以把它传递给链......

2> Robin..:

只需使用super调用它.

public void myMethod()
{
    // B stuff
    super.myMethod();
    // B stuff
}



3> 小智..:

答案如下:

super.Mymethod();
super();                // calls base class Superclass constructor.
super(parameter list);          // calls base class parameterized constructor.
super.method();         // calls base class method.



4> 小智..:

super.MyMethod()应该在里面叫MyMethod()class B.所以它应该如下

class A {
    public void myMethod() { /* ... */ }
}

class B extends A {
    public void myMethod() { 
        super.MyMethod();
        /* Another code */ 
    }
}



5> Elie..:

调用super.myMethod();



6> 小智..:

我很确定你可以使用Java Reflection机制来完成它.它不像使用超级那样简单,但它会给你更多的力量.

class A
{
    public void myMethod()
    { /* ... */ }
}

class B extends A
{
    public void myMethod()
    {
        super.myMethod(); // calling parent method
    }
}

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有