网站首页 > 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 的类、域和字段有了更清晰的认识!!!
猜你喜欢
- 2025-03-14 Java 性能优化的 50 个细节(珍藏版)
- 2025-03-14 【干货】什么是Java反射,以及Java中为什么需要反射?
- 2025-03-14 小心陷阱!Java中常犯的10个错误(java程序中的错误有哪几种)
- 2025-03-14 三十四、Java中的final关键字(关于java语言中的final关键字的使用)
- 2025-03-14 Java中的方法重载和方法重写的区别是什么?它们在多态中的作用?
- 2025-03-14 Java 四种访问权限深入解析(java四种访问权限区别)
- 2025-03-14 Java修炼终极指南:38. 从Proxy实例调用默认方法
- 2025-03-14 编译JDK详解以及保护(protected)修饰符的理解
- 2025-03-14 JAVA面试基础题(java面试基础题及答案整理)
- 2025-03-14 Java基础分享,一篇文章说透Java访问修饰符详解
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)