Java 继承:子类中超类的隐藏变量
考虑以下代码:Java 继承:子类中超类的隐藏变量,java,class,inheritance,subclass,superclass,Java,Class,Inheritance,Subclass,Superclass,考虑以下代码: 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? } } 如何在子类中显
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?
}
}
如何在子类中显示超类的隐藏变量?您可以使用
super
访问它:
System.out.println(super.j);
但是您可以在类A
中使用super
,因此您可以执行以下操作:
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
}
}
您可以使用
super
访问它:
System.out.println(super.j);
但是您可以在类A
中使用super
,因此您可以执行以下操作:
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
}
}
您可以使用super从类中访问它。您需要为此创建一个方法。例如:
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
}
}
您可以使用super从类中访问它。您需要为此创建一个方法。例如:
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
}
}
认为这是一个可怕的做法。认为这是一个可怕的做法。