什么是Java修饰符,你知道吗?
学习Java这么多年以来,对修饰符的理解做个总结。
修饰符的作用是控制一个类中变量和方法的可见范围。
Java中有4个修饰符:private,默认,protected,public,4个修饰符的可访问范围逐步递增。如下图表示,✔表示可以访问:
修饰符 | 同一个类 | 同一个包 | 子父类 | 不同的包 |
private | ✔ | ✘ | ✘ | ✘ |
默认 | ✔ | ✔ | ✘ | ✘ |
protected | ✔ | ✔ | ✔ | ✘ |
public | ✔ | ✔ | ✔ | ✔ |
由上表可知,同一个类无论是什么修饰符都可以访问。因此,我们强调的访问权限是指不同类之间是否可见,即是否可以在别的类去访问一个类中用修饰符定义的变量或者方法,可以访问用✔表示。
注意一点的是:存在继承关系的父子类,假如父类与子类在不同包里,那么父类中由protected定义的变量和方法在子类中也不能直接通过父类访问。
那么,用了eclipse这么多年,eclipse中对不同修饰符修饰的变量和方法是如何表示的呢?
修饰符 | IDE表示方式 | 变量 | 变量修饰符表示方式 | 方法 | 方法修饰符表示方式 |
private | 正方形 | age | 包含加号的正方形 | sleep() | 实体正方形 |
默认 | 三角形 | name | 包含加号的三角形 | jump() | 实体三角形 |
protected | 菱形 | color | 包含加号的菱形 | run() | 实体菱形 |
public | 圆圈 | birth | 包含加号的圆圈 | shout() | 实体圆圈 |
有图为证:
原来修饰符居然是这个样子的,你get到了吗?
本文由hellodreamcatcher追梦人原创,转载请保留版权。
下面是一张偶遇随拍的油画,供大家欣赏
预告:
Apache Struts 是一个免费的,开源的,用于创建简洁优雅的,现代的java web 应用的MVC框架。她支持约定优于配置,是一个通过插件扩展的架构,通过插件可以更好的支持REST,AJAX和JSON。