class A
{
int x=10;
}
class B extends A
{
int x=20;
}
class Test
{
public static void main(String []args)
{
B b=new B();
A a=b;
System.out.println(a.x);
}
}这个程序为什么结果是10,而不是20, 为什么不能实现动态绑定?class A
{
public int print() {
int x=10;
return x;
}
}
class B extends A
{
public int print() {
int x=30;
return x;
}
}
class Test
{
public static void main(String []args)
{
B b=new B();
A a = b;
System.out.println(a.print());
}
}为什么我改成方法后就能实现动态绑定了?
{
int x=10;
}
class B extends A
{
int x=20;
}
class Test
{
public static void main(String []args)
{
B b=new B();
A a=b;
System.out.println(a.x);
}
}这个程序为什么结果是10,而不是20, 为什么不能实现动态绑定?class A
{
public int print() {
int x=10;
return x;
}
}
class B extends A
{
public int print() {
int x=30;
return x;
}
}
class Test
{
public static void main(String []args)
{
B b=new B();
A a = b;
System.out.println(a.print());
}
}为什么我改成方法后就能实现动态绑定了?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货