java中的访问控制
java中对于属性和方法需要施加访问控制的原因有两点:进行自我保护,减少信息的泄露,对于调用者不需要知道的东西不应该将其暴露出来;减少调用者调用的复杂性,暴露的越少则调用者使用的范围就越小,这样调用者受到的副作用就越小。类内部做了大的改动,但对于调用者而言可以不作调整。
public
被public修饰的类和方法随处都访问
注意:这里的访问包括了直接赋值,方法调用和继承,以下相同
包访问权限
包访问权限也叫默认访问权限,就是在属性和方法前面不加任何修饰符。这种情况下位于同一个包内的类可以相互访问其属性和方法,包外的其它类是不能访问的。通过包访问权限可以做的包与包之间访问权限的隔离。
protected
被protected修饰的属性和方法可以被包内的其他类直接访问,包外的类虽然不能直接赋值和调用,但是可以被继承
private
特点:private修饰的属性和方法只能在该类内部被访问,不能被其它类访问。
总结
权限访问记法很简单,要想随处被访问就用public,只能在类内部访问就用private,只能在包内访问就啥都不写,其他情况就使用protected