gpt4 book ai didi

Java - 继承

转载 作者:行者123 更新时间:2023-11-29 03:27:40 25 4
gpt4 key购买 nike

class Base
{
int x=1;
void show()
{
System.out.println(x);
}
}
class Child extends Base
{
int x=2;
public static void main(String s[])
{
Child c=new Child();
c.show();
}
}

输出为 1。方法 show 继承自 Base 类,但应该优先考虑局部变量,因此输出应该是 2 还是编译器隐式在它前面加上 super 前缀??

最佳答案

不,这是因为 Child 没有覆盖 show() 方法。唯一可用的是来自 Base 的那个,它显示它的 x 版本。

这样试——它会显示 2:

class Base
{
int x=1;
void show()
{
System.out.println(x);
}
}
class Child extends Base
{
int x=2;
public static void main(String s[])
{
Child c=new Child();
c.show();
}
void show()
{
System.out.println(x);
}
}

关于Java - 继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20197400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com