📅  最后修改于: 2023-12-03 14:42:42.991000             🧑  作者: Mango
在Java中,父类和子类可以拥有相同的数据成员。这意味着子类会继承父类的数据成员,并可以通过继承或重写的方式进行访问和修改。本文将介绍在Java中在父类和子类之间共享数据成员的相关内容。
在Java中,子类可以通过继承父类来获得父类的数据成员。当一个子类继承自一个父类时,它会自动拥有父类的所有非私有的数据成员。
以下是一个简单的示例,展示了父类和子类之间的继承关系:
class Parent {
protected int dataMember = 10;
}
class Child extends Parent {
public void printDataMember() {
System.out.println("Data member value: " + dataMember);
}
}
在上面的代码中,子类Child
继承自父类Parent
。由于dataMember
是protected
修饰符,子类可以直接访问它。在子类的printDataMember()
方法中,我们可以使用dataMember
输出其值。
Child child = new Child();
child.printDataMember();
输出结果为:
Data member value: 10
除了继承父类的数据成员外,子类还可以重写父类的数据成员。
以下是一个简单的示例,展示了子类重写父类数据成员的用法:
class Parent {
protected int dataMember = 10;
public void printDataMember() {
System.out.println("Parent data member value: " + dataMember);
}
}
class Child extends Parent {
protected int dataMember = 20;
public void printDataMember() {
System.out.println("Child data member value: " + dataMember);
}
}
在上面的代码中,子类Child
重写了父类Parent
的数据成员dataMember
。子类中的dataMember
隐藏了父类中的同名成员。当我们调用printDataMember()
方法时,将会输出子类中的dataMember
值。
Child child = new Child();
child.printDataMember();
输出结果为:
Child data member value: 20
super
关键字访问父类数据成员在子类中重写父类的数据成员后,如果我们仍然希望访问父类的该成员,可以使用super
关键字。
以下是一个示例,展示了如何使用super
关键字访问父类的数据成员:
class Parent {
protected int dataMember = 10;
public void printDataMember() {
System.out.println("Parent data member value: " + dataMember);
}
}
class Child extends Parent {
protected int dataMember = 20;
public void printParentDataMember() {
System.out.println("Parent data member value: " + super.dataMember);
}
}
在上面的代码中,子类Child
通过使用super.dataMember
访问了父类Parent
的数据成员。
Child child = new Child();
child.printParentDataMember();
输出结果为:
Parent data member value: 10
Java中的父类和子类之间可以具有相同的数据成员。子类可以通过继承父类获得数据成员并进行访问和修改。如果子类重写了父类的数据成员,可以使用super
关键字访问父类的该成员。这种数据成员共享机制是面向对象编程的一个重要特性,使得代码可以更灵活地进行扩展和重用。
以上就是关于在Java中具有相同数据成员的父类和子类的介绍,希望对你有所帮助。