Java 中父类和子类具有相同的数据成员

java 8server side programmingprogramming

父类可以同时保存对父类和子类对象的引用。如果父类变量保存了子类的引用,并且该值在两个类中都存在,则通常该引用属于父类变量。这是由于 Java 的运行时多态特性所致。

示例

以下是示例 −

class Demo_base {
   int value = 1000;
   Demo_base() {
      System.out.println("这是基类构造函数");
   }
}
class Demo_inherits extends Demo_base {
   int value = 10;
   Demo_inherits() {
      System.out.println("这是继承类的构造函数");
   }
}
public class Demo {
   public static void main(String[] args) {
      Demo_inherits my_inherited_obj = new Demo_inherits();
      System.out.println("在主类中,已创建继承类对象");
      System.out.println("继承类类型的引用:" + my_inherited_obj.value);
      Demo_base my_obj = my_inherited_obj;
      System.out.println("在主类中,已创建父类对象");
      System.out.println("基类类型的引用:" + my_obj.value);
   }
}

输出

这是基类构造函数
这是继承类构造函数
在主类中,已创建继承类对象
继承类类型的引用:10
在主类中,已创建父类对象
基类类型的引用:1000

解释

一个名为"Demo_base"的类包含一个整数值和一个用于打印相关信息的构造函数。另一个名为"Demo_inherits"的类成为父类"Demo_base"的子类。这意味着,"Demo_inherits"类扩展了基类"Demo_base"。

在这个类中,为同一个变量定义了另一个值,并且定义了一个子类的构造函数,其中包含要在屏幕上打印的相关信息。名为"Demo"的类包含主函数,在该函数中创建子类的实例,并将其关联的整数值打印在屏幕上。父类也执行类似的过程,即创建实例、访问其关联值并将其打印在屏幕上。


相关文章