Java修饰符
MyOpinion
- 1.接口里的变量都隐式声明为 public static final,而接口里的方法默认情况下访问权限为 public。
- 2.default修饰的类 只能是是包内访问,子类不能访问,注意区分default和protected的区别,protected修饰的子类是能访问的.
- 3.子类覆写方法时的权限只能更加宽松,而不能更加的限制(比如:如果父类方法的访问权限是protected,那么子类只能用protected,public修饰,而不能用private修饰)
Java修饰符分类:
- 访问控制修饰符 (public protected,default,private)
- 非访问修饰符 (Static,Final,Abstract,Synchronized,Transient,volatile,Native)
思考: 受保护的方法和成员变量,子类中能访问吗?能
访问权限表
修饰符 | 当前类 | 同一包内 | 子孙类 | 其他包 |
---|---|---|---|---|
public | Y | Y | Y | Y |
protected (包子访问) | Y | Y | Y | N |
default(不写默认是包内访问) | Y | Y | N | N |
private | Y | N | N | N |
常见问题:
- Java 有几种修饰符? 二种
参考:
http://blog.csdn.net/wowfly98/article/details/52193620
http://www.runoob.com/java/java-modifier-types.html
https://www.w3cschool.cn/java/java-modifier-types.html