首先先说一下四种访问修饰符都是谁:①private;②protected;③public;④package/friendly/default 。
现在详细说一下四种访问修饰符的访问权限:
1)private
私有的,只有自身可以访问,同包子类、不同包子类都不可继承,同包类、其他类均不可访问。
2)package
自身和同包类都可以访问,其他类不可以访问;同包子类可以继承,不同包子类不可继承。
3)protected
自身和同包类都可以访问,其他类不可以访问;同包子类和不同包子类都可继承。
4)public
自身、同包子类和其他类都可以访问,同包子类和不同包子类都可以继承。
总结:什么情况该用什么修饰符呢?
1.属性通常使用private封装起来;
2.方法一般使用public用于被调用;
3.会被子类继承的方法,通常使用protected;
4.package用的不多,一般新手会用package。
还有作用范围最小原则:
一般能用private就用private,不行就放大一级用package,再不行就用protected,最后用public。