Java 类、域与字段:从基础到实践的深度解析
引言
在 Java 面向对象编程中,类(Class)、域(Domain)和字段(Field)是构建代码的核心概念。理解它们的关系与用法,是掌握面向对象设计的关键。本文将通过代码示例和关键要点总结,帮助你快速建立知识框架。
一、类:对象的模板
关键要点:
1. 类是对象的蓝图,定义了对象的属性(数据)和行为(方法)。
2. 一个类可以创建多个实例(对象)。
3. 类通过 class 关键字声明。
public class Person {
// 字段(属性)
private String name;
private int age;
// 构造方法
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 方法(行为)
public void introduce() {
System.out.println("Hello, my name is " + name + ", age " + age);
}
}
二、字段:类的属性
关键要点: 1. 字段(Field)是类中定义的变量,用于存储对象的状态。
2. 分类:
- 实例字段:每个对象独立拥有(如 name 和 age)。
- 静态字段:所有对象共享(使用 static 修饰)。
3. 字段的作用域由访问修饰符(public/private/protected)控制。
public class Circle {
public static final double PI = 3.14159; // 静态字段(常量)
private double radius; // 实例字段
public Circle(double radius) {
this.radius = radius;
}
}
三、域:更广泛的概念
关键要点:
1. 域(Domain)通常指业务领域中的概念,可能包含多个类、字段和方法。
2. 例如,一个电商系统可能包含 User、Order、Product 等域类。
3. 域类的设计应遵循单一职责原则,聚焦业务逻辑。
// 域类示例:订单
public class Order {
private String orderId;
private User user; // 关联其他域类
private List items;
// 业务方法
public double calculateTotal() {
return items.stream().mapToDouble(Product::getPrice).sum();
}
}
四、关键概念对比
概念 | 定义 | 作用 | 示例代码 |
类 | 对象的模板 | 封装数据和行为 | class Person { ... } |
字段 | 类中的变量 | 存储对象状态 | private String name; |
域 | 业务领域中的概念集合 | 组织业务逻辑 | 包含多个类的领域模型(如电商) |
五、最佳实践
- 封装原则:字段应声明为 private,通过 public 方法访问(getter/setter)。
- 不变性设计:使用 final 修饰字段,避免状态意外修改。
- 单一职责:每个类应专注于一个功能领域。
总结
- 类是面向对象的基础单元,字段是类的属性,域是业务概念的集合。
- 理解三者关系能帮助你写出高内聚、易维护的代码。
- 实践中注重封装和设计原则,避免“贫血模型”反模式。
通过本文的示例和要点总结,你是否对 Java 的类、域和字段有了更清晰的认识!!!