public,private,protected,以及不写时的差别
作用域public,private。protected。以及不写时的差别
这四个作用域的可见范围例如以下表所看到的。
说明:假设在修饰的元素上面没有写不论什么訪问修饰符,则表示friendly。不使用keyword默觉得包内使用。
作用域 当前类 同一package 子孙类 其它package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
备注:仅仅要记住了有4种訪问权限,4个訪问范围。然后将全选和范围在水平和垂直方向上分别按排从小到大或从大到小的顺序排列,就非常easy画出上面的图了。
样例:应用场景
1、public:public表明该数据成员、成员函数是对全部用户开放的。全部用户都能够直接进行调用,在程序的不论什么其他地方訪问。
2、private:private表示私有。私有的意思就是除了class自己之外。不论什么人都不能够直接使用,私有財产神圣不可侵犯嘛。即便是子女。朋友,都不能够使用。
和public相反,加上这个修饰的属性和方法,仅仅同意在自己本身这个类里訪问。程序的不论什么其他地方都不能訪问
3、protected:protected对于子女、朋友来说。就是public的,能够自由使用,没有不论什么限制。而对于其它的外部class,protected就变成private。受保护的,位于public和private中间,加上这个修饰的属性和方法,仅仅能在子类(extends)和同包下的程序訪问,别的的地方不能訪问。
4.default(默认):同一包中的类能够訪问。声明时没有加修饰符,觉得是friendly。