我想问一下,在方法覆盖中,该方法可以有不同的返回类型..
例如。
class A{
int x(){
System.out.print("1");
}
}
class B extends A{
void x(){
System.out.print("2");
}
}
class C{
public static void main(){
A a = new B();
a.x();
}
}
什么是o / p以及它是否被称为覆盖。
答案 0 :(得分:1)
您无法执行此处指定的操作,因为您将收到编译器错误,指出您尝试使用不兼容的返回类型覆盖与新定义冲突的方法。
要覆盖方法,您需要具有相同的方法签名。您可以使用@Override
注释来测试它。
答案 1 :(得分:1)
实际上,你可以以有限的方式分类。子类可能会返回父级返回的类的子类。
class A{
Object x(){
System.out.print("1");
}
}
class B extends A{
@Override
String x(){
System.out.print("2");
}
}
除了这个子类关系,还有返回类型,编号
答案 2 :(得分:0)
否不同的return
type
不是方法覆盖,请通过添加@Override
注释进行验证