1.public: 公共权限
2.private: 私有权限
3.default:包级别访问权限
4.protected:受保护的权限
public:
假如有两个类:Person,Student
Person.class位于com.cp.usr这个包
Student.class位于com.cp.student包
如果Person这个类是public的,那么Student这个类就可以调用他;如果Person的属性和方法也是public,那么Student中同样可以调用。
总的来说,public的东西很随便,想怎么用都行,没什么限制
private:
同样是Person和Student两个类,但是位于同一个包,因为类不能声明为private的。
如果Person中的属性或者方法定义为private,那么只有在Person这个类里面能够使用,其他的类想都别想,是Person私有的东西。
所以说,private的东西很自私啊,除了它自己,别的想用都不用想。
default:
同样是Person和Student两个类,也只能位于同一个包才能调用哈。
类、属性或者方法如果不声明权限,默认就是default,并不是要定义一个default class Person
default类型的东西,在同一个包内的其他类可以随意调用,可以理解为包级别的public。
protected:
这个稍微有点复杂,涉及到继承了啦。
子类继承父类时,如果子类和父类不在同一个包中,并且父类的成员变量或函数是private/default权限,那么子类将不能使用这些变量或函数(public权限的当然是没有关系,随便使用啦)
这时,protected的作用体现出来了,如果父类中的变量或函数是protected权限的,那么,子类就可以随意使用了。
如果子类和父类在同一个包中,那么protected和default基本一样。所以,区别就是protected可以跨包继承。
以上言论仅作为学习笔记,如果有错:亲,记得指出哦~