面试也经常遇到, 在现在实际的开发也遇到, 只好整理一下关于Java中四种访问修饰符的区别
public对所有用户开发,所有的用户都可以直接调用
private 只能在本类中访问, 其它任何类包括其子类都不能访问
protected 只能在本包下的任何类都能访问, 非本包下的所有类包括子类都访问不了(此时就相当于private)
default 在所有的本包下和非本包下的子类都可以访问
用一个表格可以更好的理解
作用域 当前类 同一package 子类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
只供参考学习, 若有错误请留言, 鄙人受教!