继承时的java公共字段
假设有两类:继承时的java公共字段,java,Java,假设有两类: class A{ public int a=0; } class B extents A{ public int a=1; } 我尝试过以下代码: A a=new B(); B a1=new B(); a.a是0,a1.a是1 是否有任何方法可以访问a1的super.a?在类B中创建一个方法,通过super.a获取超类变量a的值 使用a1.superClassA从类a获取a的值在B中定义一个方法以返回它。您始终可以执行a1.a。似乎我们必须使用函数来获取值,不是
class A{
public int a=0;
}
class B extents A{
public int a=1;
}
我尝试过以下代码:
A a=new B();
B a1=new B();
a.a是0,a1.a是1
是否有任何方法可以访问a1的super.a?在类B中创建一个方法,通过super.a获取超类变量a的值
使用a1.superClassA从类a获取a的值在B中定义一个方法以返回它。您始终可以执行a1.a。似乎我们必须使用函数来获取值,不是吗?是的,因为Java不允许变量重写。
class A {
public int a=0;
}
class B extends A {
public int a=1;
public int superClassA() {
return super.a;
}
}