子类中的变量在Java中隐藏超类中的变量
有时,子类中的变量可能会将变量隐藏在超类中。在这种情况下,可以使用Java中的super关键字来引用父类变量。
演示此过程的程序如下:
示例
class A {char ch;
}
class B extends A {
char ch;
B(char val1, char val2) {
super.ch = val1;
ch = val2;
}
void display() {
System.out.println("In Superclass, ch = " + super.ch);
System.out.println("In subclass, ch = " + ch);
}
}
public class Demo {
public static void main(String args[]) {
B obj = new B('B', 'E');
obj.display();
}
}
输出结果
In Superclass, ch = BIn subclass, ch = E
现在让我们了解上面的程序。
类A包含数据成员ch。类B使用extends关键字从类A派生。它还包含数据成员ch和构造函数B()
。
子类(B)中的ch变量隐藏超类(A)中的ch变量。因此,使用构造函数中的super关键字引用父类变量ch B()
。display()
B类中的方法在子类和超类中打印ch的值。演示此代码段如下:
class A {char ch;
}
class B extends A {
char ch;
B(char val1, char val2) {
super.ch = val1;
ch = val2;
}
void display() {
System.out.println("In Superclass, ch = " + super.ch);
System.out.println("In subclass, ch = " + ch);
}
}
在main()
类Demo中的方法中,创建了类B的对象obj。然后display()
调用该方法。演示此代码段如下:
public class Demo {public static void main(String args[]) {
B obj = new B('B', 'E');
obj.display();
}
}
以上是 子类中的变量在Java中隐藏超类中的变量 的全部内容, 来源链接: utcz.com/z/316960.html