44. Java 类和对象 - 类声明规范与语法结构

81 阅读3分钟

44. Java 类和对象 - 类声明规范与语法结构

类声明基础

在** 2. Java中,什么是类?**章节中,我们以自行车类体系为例构建了面向对象模型。以下是标准Bicycle类的完整实现,展示了类声明的基本要素:

/**
 * 自行车基类
 * 演示字段、构造器、方法的声明规范
 */
public class Bicycle {
    // 状态字段(后续将优化为私有访问)
    public int cadence;  // 踏板转速(转/分钟)
    public int gear;     // 当前档位(1-24)
    public int speed;    // 当前速度(km/h)

    /**
     * 构造器初始化对象状态
     * @param startCadence 初始转速
     * @param startSpeed 初始速度
     * @param startGear 初始档位
     */
    public Bicycle(int startCadence, int startSpeed, int startGear) {
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;
    }

    // 行为方法
    public void setCadence(int newValue) {
        cadence = newValue;
    }

    public void setGear(int newValue) {
        gear = newValue;
    }

    public void applyBrake(int decrement) {
        speed -= decrement;
    }

    public void speedUp(int increment) {
        speed += increment;
    }
}

继承机制实现

山地自行车子类的实现展示了继承机制的关键要素:

/**
 * 山地自行车子类
 * 继承自Bicycle类并扩展座椅高度功能
 */
public class MountainBike extends Bicycle {
    // 扩展状态字段
    public int seatHeight;  // 座椅高度(厘米)

    /**
     * 子类构造器必须显式调用父类构造器
     * @param startHeight 初始座椅高度
     */
    public MountainBike(int startHeight, int startCadence,
                        int startSpeed, int startGear) {
        super(startCadence, startSpeed, startGear);
        seatHeight = startHeight;
    }

    // 扩展行为方法
    public void adjustSeat(int newValue) {
        seatHeight = newValue;
    }
}

继承特性说明MountainBike自动获得父类的所有public/protected成员,并通过super关键字实现父类构造器调用,这种设计符合里氏替换原则(LSP)。


类声明完整结构

类声明语法要素

标准类声明包含以下有序组件([]表示可选):

[访问修饰符] class 类名 [extends 父类] [implements 接口列表] {
    // 成员声明区域
}

结构分解

  1. 访问修饰符public/protected/private):控制类可见范围
    • private仅适用于嵌套类
  2. 类名:大驼峰命名法(UpperCamelCase
  3. 继承声明extends):单继承机制,每个类只能有一个直接父类
  4. 接口实现implements):支持多个接口实现,用逗号分隔
  5. 类体:包含字段、构造器、方法的声明

成员变量声明规范

变量分类体系

变量类型作用域生命周期示例
成员变量类内部对象实例存活期间private int count;
局部变量方法/代码块内部代码块执行期间for(int i=0;...)
参数变量方法内部方法执行期间void method(String param)

字段声明标准

[访问修饰符] [static] [final] 数据类型 字段名 [= 初始值];

Bicycle类字段优化版

// 符合封装原则的字段声明
private int cadence;  // 添加private访问控制
private int gear;
private int speed;

访问控制机制

封装实现策略

通过访问修饰符实现信息隐藏:

修饰符类内部包内部子类其他包
public
private

最佳实践

  1. 字段优先声明为private

  2. 通过访问器方法控制访问:

    // Getter方法规范
    public int getCadence() {
        return this.cadence;
    }
    
    // Setter方法规范
    public void setCadence(int cadence) {
        if(cadence > 0) {  // 添加业务逻辑校验
            this.cadence = cadence;
        }
    }
    

类型系统与命名规范

变量类型体系

  1. 原始类型:直接存储值
    • 整型:byte(1B), short(2B), int(4B), long(8B)
    • 浮点型:float(4B), double(8B)
    • 布尔型:boolean
    • 字符型:char(2B)
  2. 引用类型:存储对象引用
    • 类对象:String, ArrayList
    • 数组:int[]
    • 接口实现

命名规范标准

元素类型命名规则示例
类/接口大驼峰式VehicleController
方法小驼峰式+动词开头calculateSalary()
变量小驼峰式studentCount
常量全大写+下划线MAX_CONNECTIONS

特别提示

  • 避免使用单字符命名(临时变量除外)
  • 保持命名一致性(如同时使用getXxx/isXxx
  • 布尔变量推荐使用isXXX格式(isValid