类、对象、构造器与封装
类定义对象的状态(字段)和行为(方法);new 创建对象并调用构造器。字段通常应保持 private,通过方法维护对象不变量。
public class Counter {
private int value;
public Counter(int initialValue) {
if (initialValue < 0) {
throw new IllegalArgumentException("初始值不能为负数");
}
this.value = initialValue;
}
public void increment() {
value++;
}
public int getValue() {
return value;
}
}
this.value 指当前对象字段,用于区分同名构造器参数。构造器没有返回类型,名称与类名相同。
封装不等于为每个字段机械生成 setter。若字段只能递增,就只提供 increment();这样可以把规则放在对象内部,避免任何调用方都能写入非法状态。