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"的类包含主函数,在该函数中创建子类的实例,并将其关联的整数值打印在屏幕上。父类也执行类似的过程,即创建实例、访问其关联值并将其打印在屏幕上。