Skip to content

4.4 标识符命名规则

标识符的概念

标识符是 Java 中用来命名变量、方法、类、接口、包等的名称。了解标识符的命名规则对于编写规范的 Java 代码非常重要。

标识符的命名规则

基本规则

  1. 必须以字母、下划线(_)或美元符号($)开头

    • 不能以数字开头
    • 例如:age_name$salary 是合法的
    • 例如:123abc 是非法的
  2. 后续字符可以是字母、数字、下划线或美元符号

    • 例如:student123first_name$value 是合法的
  3. 不能使用 Java 关键字

    • Java 关键字是具有特殊含义的保留字,如 intclasspublic
    • 例如:intclasspublic 不能作为标识符
  4. 区分大小写

    • Java 是区分大小写的语言,所以 ageAge 是不同的标识符
    • 例如:nameName 是两个不同的变量
  5. 长度没有限制

    • 标识符可以任意长,但为了可读性,建议使用合理的长度

命名约定

虽然 Java 允许使用任何符合规则的标识符,但为了代码的可读性和可维护性,建议遵循以下命名约定:

1. 变量和方法命名

  • 使用驼峰命名法:第一个单词小写,后续单词首字母大写
  • 使用有意义的名称:变量名应该能够清晰地表达变量的用途
  • 避免使用缩写:除非是广为人知的缩写,否则应该使用完整的单词

示例

  • 好的变量名:firstNamestudentAgetotalScore
  • 不好的变量名:abcstuAge

2. 类命名

  • 使用大驼峰命名法:每个单词首字母大写
  • 使用有意义的名称:类名应该能够清晰地表达类的用途
  • 使用名词:类名通常是名词

示例

  • 好的类名:StudentPersonCalculator
  • 不好的类名:studentpersoncalc

3. 常量命名

  • 使用全大写:所有字母都大写
  • 单词之间用下划线分隔:使用下划线来分隔单词
  • 使用有意义的名称:常量名应该能够清晰地表达常量的用途

示例

  • 好的常量名:MAX_VALUEPIDEFAULT_TIMEOUT
  • 不好的常量名:maxValuepidefaultTimeout

4. 包命名

  • 使用小写字母:所有字母都小写
  • 使用域名反转:通常使用公司或组织的域名反转作为包名的前缀
  • 使用点号分隔:使用点号来分隔包的层次结构

示例

  • 好的包名:com.examplecom.company.project
  • 不好的包名:Com.Examplecom_example

5. 接口命名

  • 使用大驼峰命名法:每个单词首字母大写
  • 使用形容词或名词:接口名通常是形容词或名词
  • 可以使用 "able"、"ible" 等后缀:表示能力或特性

示例

  • 好的接口名:RunnableSerializableComparable
  • 不好的接口名:runnableserializable

示例:标识符命名

java
// 类命名
public class Student {
    // 常量命名
    public static final int MAX_AGE = 100;
    
    // 变量命名
    private String firstName;
    private String lastName;
    private int studentAge;
    private boolean isEnrolled;
    
    // 方法命名
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    
    public String getFirstName() {
        return firstName;
    }
    
    public void enroll() {
        isEnrolled = true;
    }
    
    public static void main(String[] args) {
        // 局部变量命名
        Student student = new Student();
        String fullName = "John Doe";
        int currentYear = 2023;
        
        student.setFirstName("John");
        student.enroll();
    }
}

常见错误

1. 使用数字开头

错误示例

java
int 123abc = 100; // 错误:不能以数字开头

正确示例

java
int abc123 = 100; // 正确:数字可以在中间或末尾

2. 使用 Java 关键字

错误示例

java
int int = 100; // 错误:不能使用关键字作为变量名

正确示例

java
int number = 100; // 正确:使用有意义的变量名

3. 使用特殊字符

错误示例

java
int my-variable = 100; // 错误:不能使用连字符
int my@variable = 100; // 错误:不能使用 @ 符号

正确示例

java
int myVariable = 100; // 正确:使用驼峰命名法
int my_variable = 100; // 正确:使用下划线

4. 不遵循命名约定

不推荐的示例

java
class student { // 不推荐:类名应该使用大驼峰命名法
    int STU_AGE; // 不推荐:变量名不应该使用全大写
    
    void GET_NAME() { // 不推荐:方法名不应该使用全大写
        // 方法体
    }
}

推荐的示例

java
class Student { // 推荐:类名使用大驼峰命名法
    int stuAge; // 推荐:变量名使用驼峰命名法
    
    void getName() { // 推荐:方法名使用驼峰命名法
        // 方法体
    }
}

命名技巧

  1. 使用描述性名称:变量名应该能够清晰地表达变量的用途
  2. 保持一致性:在整个项目中使用一致的命名风格
  3. 避免使用缩写:除非是广为人知的缩写,否则应该使用完整的单词
  4. 使用 Hungarian 命名法(可选):在变量名前添加类型前缀,如 strNameintAge
  5. 考虑代码可读性:选择能够让其他开发者容易理解的名称

总结

标识符的命名规则和约定是 Java 编程中的重要部分。遵循这些规则和约定可以:

  • 提高代码的可读性和可维护性
  • 减少错误的发生
  • 使代码更容易理解和协作
  • 符合行业标准和最佳实践

在编写 Java 代码时,应该始终遵循这些命名规则和约定,养成良好的编程习惯。

© 2026 编程马·菜鸟教程 版权所有