6. Java中,变量与命名规范

113 阅读2分钟

6. Java中,变量与命名规范

变量和命名规范

Java 中,变量用于存储对象的状态(字段),以及方法中的临时数据(局部变量)。理解变量的不同类型以及如何为它们命名是非常重要的。接下来,我们将讨论 Java 中的变量类型及其命名规则。

变量类型

Java 中有多种不同类型的变量,主要包括:

  1. 实例变量(非静态字段)

    • 实例变量属于类的每个实例(即每个对象)。它们存储每个对象的状态,每个对象都有自己的副本。
    • 例如,每辆自行车的速度、踏频等是独立的,因此它们会被存储在实例变量中。
    int cadence = 0;
    int speed = 0;
    int gear = 1;
    
  2. 类变量(静态字段)

    • 类变量使用 static 关键字声明,它们属于类本身,而不是类的某个实例。无论类实例化多少次,类变量都只有一个副本。
    • 例如,自行车的齿轮数通常是所有自行车实例共享的,因此它可以是一个静态字段。
    static int numGears = 6;  // 所有自行车共享相同的齿轮数
    
  3. 局部变量

    • 局部变量是方法内部声明的变量,它们的生命周期仅限于方法的执行期间。方法结束后,局部变量就不再存在。
    • 局部变量对其他方法或类不可见。
    void someMethod() {
        int count = 0;  // 这是局部变量,仅在该方法内有效
    }
    
  4. 参数

    • 参数是传递给方法或构造函数的变量。它们在方法执行时提供输入值,作用范围仅限于方法内部。
    • 参数也被视为变量,但与实例变量或局部变量有所不同。
    public void changeCadence(int newValue) {
        cadence = newValue;  // newValue 是参数
    }
    

命名变量的规则和约定

Java 中,变量命名必须遵循一套特定的规则和约定:

  1. 变量名称区分大小写
    • Java 是区分大小写的语言,因此 Cadencecadence 是不同的变量。
  2. 合法标识符
    • 变量名必须以字母(A-Z, a-z)、美元符号($)或下划线(_)开头。虽然美元符号和下划线在语法上是合法的,但不建议使用它们。
    • 变量名称的其余部分可以包含字母、数字、美元符号或下划线。
    • 变量名称不能是 Java 的关键字或保留字。
  3. 命名约定
    • 单个单词的变量名:如果变量名由一个单词组成,应使用小写字母。例如 speedcadence
    • 多个单词的变量名:使用驼峰命名法(camelCase),即首字母小写,后续每个单词的首字母大写。例如:currentSpeedgearRatio
    • 常量变量名:如果变量是常量(如 final),则通常使用全大写字母,并使用下划线分隔单词。例如:NUM_GEARS

示例

假设你正在为一辆自行车类定义变量,遵循上述命名规则,代码可能如下所示:

class Bicycle {
    int cadence = 0;  // 实例变量
    int speed = 0;    // 实例变量
    int gear = 1;     // 实例变量

    static int numGears = 6;  // 类变量,所有自行车共享的齿轮数

    void changeCadence(int newValue) {
        cadence = newValue;  // 参数 newValue 用于修改实例变量 cadence
    }

    void printStates() {
        System.out.println("cadence:" + cadence + " speed:" + speed + " gear:" + gear);
    }
}

总结

  • 变量类型Java 中有四种主要类型的变量:实例变量、类变量、局部变量和参数。

  • 命名规则:

    • 变量名必须合法且以字母、下划线或美元符号开头。
    • 避免使用 $_ 开头的变量名。
    • 使用简洁且易于理解的名称,避免使用缩写。
    • 常量使用全大写字母和下划线分隔单词。