请考虑以下代码:
class B
{
int j=15;
}
public class A extends B
{
int j=10;
public static void main(String[] args)
{
A obj =new A();
System.out.println(obj.j); // i now want to print j of class B which is hidden,how?
}
}
我应该如何揭示子类中超类的隐藏变量?
答案 0 :(得分:4)
您可以使用super
:
System.out.println(super.j);
但您可以在课程super
中使用A
,因此您可以执行以下操作:
public class A extends B
{
int j = 10;
public void print()
{
System.out.println(super.j);
}
public static void main(String[] args)
{
A obj = new A();
System.out.println(obj.j); // 10
obj.print(); // 15
}
}
答案 1 :(得分:0)
你可以使用super从A类开始。您需要为此创建一个方法。例如:
class A extends B
{
int j=10;
int getSuperJ() {
return super.j;
}
public static void main(String[] args)
{
A obj =new A();
System.out.println(obj.j); //10
System.out.println(obj.getSuperJ()); //15
}
}