Java Field如何命名
在 Java 中,字段(Field,也叫成员变量)的命名遵循驼峰命名法(camelCase),并有一些约定和最佳实践。下面按常见场景详细说明。
一、基本命名规则(必须遵守)
-
使用驼峰命名法
- 第一个单词全小写,后续单词首字母大写
int age; String userName; boolean isActive; -
只能包含字母、数字、
$、_- 但不能以数字开头
int count1; // ✅ int 1count; // ❌ -
不能是 Java 关键字
int class; // ❌
二、推荐命名规范(行业通用)
1️⃣ 普通字段(最常见)
- 名词或名词短语
- 不使用前缀或后缀
public class User {
private String name;
private int age;
private String email;
}
✅ 推荐
❌ 不推荐:mName、_age、strEmail
2️⃣ boolean 类型字段
- 推荐以
is、has、can、should开头
private boolean isActive;
private boolean hasPermission;
private boolean canEdit;
⚠️ 注意:getter 方法不要重复 is
public boolean isActive() {
return isActive;
}
3️⃣ static / final 常量
- 全大写 + 下划线
public static final int MAX_SIZE = 100;
private static final String DEFAULT_NAME = "admin";
4️⃣ 枚举字段
- 通常也是全大写
enum Status {
ACTIVE, INACTIVE, DELETED
}
三、不同访问级别的建议
private 字段(最常见)
private String password;
protected / public(较少)
protected int level;
public String remark;
⚠️ 一般不建议直接 public 字段,推荐通过 getter/setter 访问。
四、与 getter / setter 的对应关系
普通字段
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
boolean 字段
private boolean active;
public boolean isActive() {
return active;
}
五、常见命名反例(不推荐)
❌ 匈牙利命名法(Java 中已淘汰)
int iAge;
String strName;
❌ 无意义的名字
int a;
String b;
❌ 拼音命名
int yonghuNianling; // ❌
✅ 推荐
int userAge;
六、总结速查表
| 场景 | 命名方式 | 示例 |
|---|---|---|
| 普通字段 | camelCase | userName |
| boolean | is/has/can | isEnabled |
| 常量 | 全大写 + _ |
MAX_COUNT |
| 枚举 | 全大写 | SUCCESS |
| 包名 | 全小写 | com.example.user |
如果你愿意,我也可以帮你检查一段 Java 类字段命名是否规范,或者直接给你一个标准 Java Bean 示例。