Java后端-基础-修饰符-6
背景
本文是《Java 后端从小白到大神》修仙系列第六篇
,正式进入Java后端
世界,本篇文章主要聊Java基础
。若想详细学习请点击首篇博文,我们开始把。
文章概览
- 访问修饰符
- 非访问修饰符
1. 访问控制符
控制类、方法、变量的可见性范围,共 4 种(从宽到严):
修饰符 | 作用范围 | 适用位置 |
---|---|---|
public |
所有类均可访问 | 类、方法、变量、构造器 |
protected |
同包类 + 不同包的子类可访问 | 方法、变量、构造器 |
默认 | 同包类可访问(不写修饰符即默认) | 类、方法、变量、构造器 |
private |
仅本类可访问 | 方法、变量、构造器 |
代码示例:
2. 非访问控制符
控制类、方法、变量的行为特性,共 6 种:
修饰符 | 作用描述 | 适用位置 |
---|---|---|
static |
类级别共享(无需实例化) | 方法、变量、代码块、内部类 |
final |
不可变(类不可继承,方法不可覆盖,变量为常量) | 类、方法、变量 |
abstract |
抽象(类不可实例化,方法需子类实现) | 类、方法 |
synchronized |
线程同步(同一时间仅一个线程访问) | 方法、代码块 |
transient |
序列化时忽略该字段 | 变量 |
volatile |
多线程中保证变量可见性(直接读写主存) | 变量 |
代码示例:
|
|
总结
类型 | 关键字 | 核心作用 |
---|---|---|
访问控制符 | public |
最大化开放访问权限 |
protected |
限制为子类或同包访问 | |
默认 |
同包内可见 | |
private |
仅本类可见 | |
非访问控制符 | static |
类级别共享资源 |
final |
定义不可变性(类、方法、变量) | |
abstract |
定义抽象行为(需子类实现) | |
synchronized |
线程同步控制 | |
transient |
序列化时跳过字段 | |
volatile |
多线程变量可见性 |
选择原则:
- 数据安全 → 优先用
private
,通过方法控制访问。 - 共享资源 → 用
static
。 - 线程安全 →
synchronized
或volatile
。 - 序列化优化 →
transient
忽略非必要字段。
文章作者 会写代码的小郎中
上次更新 2025-02-26
许可协议 CC BY-NC-ND 4.0