【Java】一文彻底弄懂访问修饰符(public/protected/默认/private)--建议收藏

博主简介:努力学习的预备程序媛一枚~ 博主主页: 所属专栏:

前言

 OOP(Object Oriented Programing),即面向对象编程,最重要的功能/特点之一就是封装,这点在该专栏开篇博客就已经提到过(包括隐藏信息的好处): 如何实现信息隐藏呢?Java使用了访问控制修饰符(modifiner)来实现

这篇文章,我们重点学习Java中又一重要语法知识访问控制修饰符

先上思维导图,看文章时,对文章讲解思路&脉络更好把握:

Part1:分类

Java中访问修饰符分为4个,访问修饰符通常放在语句最前端【位置】。

    public: protected: 什么都不写(默认): private:

Tips: 权限从上到下依次递减

Part2:可修饰对象

知道了有哪些访问修饰符,这些修饰符可以修饰什么对象呢?是类还是方法还是属性?

    类修饰符 public 默认(什么也不写) 方法、属性修饰符 public protected 默认 private

Part3:权限范围划分/介绍

我们一直在说控制权限,控制权限,隐藏。那Java中权限是如何划分的呢?这里我用图形&思维导图来展示一下:

【注意】-"同包"的理解!:“同包”,指的是所在的同一个直接的包,一个包中的类和这个包中嵌套的包中的类,是两个独立的类,没有任何关系,不是在同包范围中!

Part4:访问权限控制

由Part3我们知道了权限的划分,那么是如何通过访问修饰符来进行修饰,来控制相应权限的呢?

权限含义/访问级别 访问权限修饰符 同类 同包 子类 不同包(包外) 公开 public OK OK OK OK 受保护 protected OK OK OK NO 默认/不写 没有访问修饰符 OK OK NO NO 私有 private OK NO NO NO

4.2理解&记忆

 这部分是瑶瑶子专门写给记不住上面表格的小孩哒(❤ ω ❤),如果上面已经记住了,这一Part完全可以直接跳过d=====( ̄▽ ̄*)b 理解:

    一个独立的包就相当于一个家,如果你(包中的类,这里默认被public修饰)的属性是: public,那就代表你的这个属性对同类(你自己当然知道自己的属性)、同包(你的这个属性可以暴露给一个家庭下的家人)、子类(暴露给你的孩子)、不同包(因为是公开的即使是别人家的人,也可以访问到你的这个属性) protected相当于你的这个属性被你的家庭(保护起来了),只有你的家庭中的人才可以访问 默认–就很奇怪,只有你的孩子不能知道,家里的人和你自己知道 私有:只有你一个人知道,其他任何人都不可以知道

Part5:使用细节&注意事项

学知识,感觉就是学习很容易,一到使用,就是这里出错,那里出错,很多都是细节没有get到。瑶瑶整理出来了关于访问修饰符的使用细节&注意事项,快快get!

    子类重写父类方法 父类方法被public修饰:子类方法必须也被public修饰 父类方法被protected修饰:子类方法被protected/public修饰均可 父类方法被private修饰:子类不能重写(傻呀,你都看不到/不知道/访问不到你爸爸这个方法,咋重写呀)

其他的大概就是上面的导图和表格没记牢咯~

此Part会随着瑶瑶子的学习不断更新,小伙伴有啥的关于访问修饰符注意事项也可在评论区分享哦(❤ ω ❤)


Write in the end

经验分享 程序员 微信小程序 职场和发展