JavaSE
Java权限修饰符总结表
修饰符 | 同类 | 同包 | 子类 | 不同包 | 可修饰元素 |
---|---|---|---|---|---|
private | √ | ✗ | ✗ | ✗ | 变量、方法、构造器、内部类 |
default | √ | √ | ✗ | ✗ | 类、变量、方法、构造器 |
protected | √ | √ | √ | ✗ | 变量、方法、构造器 |
public | √ | √ | √ | √ | 类、接口、变量、方法、构造器 |
Java非权限修饰符总结表
修饰符 | 含义 | 可修饰元素 | 作用 | 示例 |
---|---|---|---|---|
static | 静态的 | 变量、方法、代码块、内部类 | 属于类而非实例,所有实例共享 | static int count; static void show(){} |
final | 最终的 | 类、方法、变量 | 不可改变/继承/重写 | final class A{} final void method(){} final int MAX=100; |
abstract | 抽象的 | 类、方法 | 不能实例化,没有实现 | abstract class Shape{} abstract void draw(); |
synchronized | 同步的 | 方法、代码块 | 线程同步,防止并发访问 | synchronized void update(){} synchronized(obj){} |
volatile | 易变的 | 变量 | 保证多线程可见性,禁止指令重排 | volatile boolean flag; |
transient | 瞬态的 | 变量 | 序列化时忽略该字段 | transient String tempData; |
native | 本地的 | 方法 | 方法由本地代码实现 | native void systemCall(); |
strictfp | 严格浮点 | 类、接口、方法 | 保证浮点运算平台一致性 | strictfp class MathCalc{} |