我的背景是C ++,我们可以使用Child Class Object访问Parent Class的公共字段。例如:
Pin.find(1).user
我如何在Java继承中做同样的事情?
#include <iostream>
class A{
public:
void show(){
std::cout << "A";
}
};
class B:public A{
public:
void show(){
std::cout << "B";
}
};
int main(){
B obj;
obj.A::show(); // it will print A.
}
我还有另一个关于覆盖的问题,但由于Stackoverflow规则,我会问作为单独的问题。
那么,使用Child Class Object Reference打印/访问Java的Parent类方法应该是什么语法?
我试过了。 public class Serial {
public void show(){
System.out.println("Serial");
}
}
public class Testing extends Serial
{
@Override
public void show(){
System.out.println("Testing");
}
public static void main(String[] args){
Testing obj=new Testing();
obj.show(); // it print Testing but how to Print Serial?
}
}
等但不起作用。
答案 0 :(得分:1)
super
只能在课堂上使用。不在它之外。
由于你不能直接调用超级方法。
您只能做
obj.show();
如果您仍想调用超级方法,可以将方法修改为
@Override
public void show(){
super.show();
System.out.println("Testing");
}
更新:
来到父级和子级覆盖返回类型,
这篇文章可能会有所帮助