子类中的变量在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 = B

In 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

回到顶部