我有两个Java类:B,它扩展了另一个类A,如下所示:
class A { public void myMethod() { /* ... */ } } class B extends A { public void myMethod() { /* Another code */ } }
我想打电话A.myMethod()
给B.myMethod()
.我来自C++世界,我不知道如何在Java中做这个基本的事情.
您正在寻找的关键字是super
.例如,请参阅本指南.
只需使用super调用它.
public void myMethod() { // B stuff super.myMethod(); // B stuff }
答案如下:
super.Mymethod(); super(); // calls base class Superclass constructor. super(parameter list); // calls base class parameterized constructor. super.method(); // calls base class method.
super.MyMethod()
应该在里面叫MyMethod()
的class B
.所以它应该如下
class A { public void myMethod() { /* ... */ } } class B extends A { public void myMethod() { super.MyMethod(); /* Another code */ } }
调用super.myMethod();
我很确定你可以使用Java Reflection机制来完成它.它不像使用超级那样简单,但它会给你更多的力量.
class A { public void myMethod() { /* ... */ } } class B extends A { public void myMethod() { super.myMethod(); // calling parent method } }