一、为什么会有访问修饰符
我们写的每个类、接口、变量、方法,出于安全等等方面的考虑,我们希望有些是可以所有人都能访问,有些是部分人能访问,有些是只能谁都不能访问只是自己用,而实现这些功能就需要用到访问修饰符。
二、自我理解
①就好像我们自己有些东西当你对外声明了所有人都能用,这样别人才能取用,而在java中(类、接口、变量、方法)你希望所有人都能用那么就必须先声明为public。
②而我们有些比较有价值的东西,你不希望把所有人都能用,只想希望你身边最好的朋友和你的后代能用,那么你也必须去对外说明这些东西只有他们才能用,而在java中(变量、方法 )你只希望跟你同包或者你的子类访问就需要声明为protected。
③我们有些非常特殊的东西,我们希望除了自己谁也不能用,而在java中(变量、方法)只能在同一类中访问就需先声明为private。
④在java中不写访问修饰符则默认为default (类、接口、变量、方法)指在同一包中才能访问
注:括号中红色为能加访问修饰符的有哪些,private与protected不能修饰类(外部类)
三、图解
修饰符 | 当前类 | 同一包 | 子孙类 | 其他包 | 其他包子孙类 |
public | Y | Y | Y | Y | Y |
protected | Y | Y | Y | N | N/Y |
private | Y | N | N | N | N |
default | Y | Y | N | N | N |
版权声明:本博客为记录本人自学感悟,内容大多从网上学习与整理所得,若侵权请告知!
https://mp.csdn.net/postedit/80365677