gpt4 book ai didi

java - 这里内部发生​​了什么?

转载 作者:行者123 更新时间:2023-12-02 16:00:06 27 4
gpt4 key购买 nike

class A
{
int i=10;
void show()
{
System.out.println("show()");
}
}

class B extends A
{
int j=20;
void show1()
{
System.out.println("show1()");
}
public static void main(String ar[])
{
A a1=new B();//What happened internally here.please give me answer.
a1.show();
a1.show1();
}
}

最佳答案

A a1=new B();//What happened internally here.please give me answer.
a1.show();
a1.show1();

发生的情况是,您创建了 B 的实例,并将引用分配给 A 类型的变量。没关系,因为 B 实例 A

在下一行中,您调用了 B 实例上的一个 A 方法。没关系。

在最后一行中,您尝试调用 B 方法。但由于 a1 的静态类型是 A ,因此会导致编译错误。但是,如果您编写了以下内容,它就会编译并运行得很好。

((B) a1).show1();
<小时/>

如果这不能回答您的问题,请重新表述,以便我们更好地理解。

关于java - 这里内部发生​​了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5853714/

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