📜  Java中具有相同数据成员的父类和子类(1)

📅  最后修改于: 2023-12-03 14:42:42.991000             🧑  作者: Mango

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

在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。由于dataMemberprotected修饰符,子类可以直接访问它。在子类的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中具有相同数据成员的父类和子类的介绍,希望对你有所帮助。