在java继承中,私有属性能否被继承

其实在继承中,子类可以继承父类的私有属性的内容空间,但是不能继承父类私有属性的访问权限,下面看代码

父类Animal

public class Animal {
    private String name = "老虎"; //私有属性name,并初始化
    public int age;
    
    public String getName() {   //公有方法
        return name;
    }

    public void setName(String name) {  //公有方法
        this.name = name;
    }
}

子类cat继承父类

public class Cat extends Animal {
}

测试类

public class MyTest {
    public static void main(String[] args) {
        Cat cat=new Cat();
        cat.setName("小猫");
        System.out.println(cat.getName());
        System.out.println("------------------");
        Animal animal=new Animal();
        System.out.println(animal.getName());
    }
}

结果

在java继承中,私有属性能否被继承_第1张图片

如结果所示:子类对象cat在调用setName()方法后,父类的name并没有改变,而子类对象调用getName()方法时值改变了,因此可以判断子类自己拥有name属性。所以父类的私有属性紫泪可以继承其内容空间,但是不能继承其访问权限。

你可能感兴趣的:(在java继承中,私有属性能否被继承)