温馨提示×

Java关键字extends能继承私有属性吗

小樊
81
2024-09-29 13:19:01
栏目: 编程语言

在Java中,extends关键字用于实现类与类之间的继承关系。但是,extends关键字只能继承父类的公有保护属性,而不能继承私有属性。

私有属性是类内部定义的,只能被该类的方法和构造函数访问。子类无法直接访问父类的私有属性,因此,即使使用extends关键字,子类也无法继承父类的私有属性。

以下是一个简单的示例,说明了这一点:

class Parent {
    private int privateVar;

    public Parent(int privateVar) {
        this.privateVar = privateVar;
    }

    public int getPrivateVar() {
        return privateVar;
    }
}

class Child extends Parent {
    public Child(int privateVar) {
        super(privateVar);
    }
}

public class Main {
    public static void main(String[] args) {
        Child child = new Child(10);
        // 无法直接访问父类的私有属性
        // System.out.println(child.privateVar); // 这行代码会导致编译错误
    }
}

在上面的示例中,Parent类有一个私有属性privateVarChild类继承了Parent类。但是,在Child类中,我们无法直接访问privateVar属性,只能通过Parent类提供的公有方法getPrivateVar()来获取其值。

0