Java中private修饰变量的继承问题

我的机器学习教程「美团」算法工程师带你入门机器学习   已经开始更新了,欢迎大家订阅~

任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑~此外,公众号内还有更多AI、算法、编程和大数据知识分享,以及免费的SSR节点和学习资料。其他平台(知乎/B站)也是同名「图灵的猫」,不要迷路哦~

 

private在英文里是私人的意思,众所周知,JAVA是面向对象的一门语言,每个对象都有各自的属性和方法。但是有的属性涉及安全因素或秘密因素不能让外面的程序调用,所以就用到了private,经过它定义的变量只能在此对象内部调用,外部程序就无法调用,也就是说只能供其自身调用,比如某个人是一个对象,那么他的血液就肯定是私有变量,只能供其自身调用来维持人的状态。

而如果将血液定义成public(公共的)的话,随便其他人都可以改变他血液的状态,你随便把他的血液值设为逆流,那他不就挂了。

那么是否可以继承?答案是能被继承,只是不能通过子类访问,要通过父类的非private属性方法去访问,最常见的就比如public 修饰的setter或者getter(被子类继承)。总结一下,各个访问如下:
public
公共,加上这个修饰的类或属性,可以在同一个包或者别的包里面访问
private
私有的,加上这个修饰的类或属性,只能在同类里访问,同包和别的包不能访问
protected
保护,加上这个修饰的类或属性,只能在类和同包访问,别的包不能访问

你可能感兴趣的:(编程之美:Java,JavaSE)