Java中自定义类属性的实现方法
Java类中自定义属性的定义与使用
在面向对象编程中,类的属性是描述对象状态的核心组成部分。通过合理定义和管理自定义属性,可以有效封装数据并提升代码的可维护性。本文将详细介绍如何在Java中声明、初始化及访问类属性,并提供实际应用示例。
- 属性的基本定义
自定义属性即类中的成员变量,用于存储对象的状态信息。建议使用
private访问修饰符以实现数据隐藏,结合公共的 getter 与 setter 方法进行安全访问。
public class Person {
// 私有属性:姓名与年龄
private String fullName;
private int yearOfBirth;
// 构造器:初始化属性值
public Person(String name, int birthYear) {
this.fullName = name;
this.yearOfBirth = birthYear;
}
// 获取姓名
public String getName() {
return fullName;
}
// 修改姓名
public void setName(String name) {
if (name != null && !name.trim().isEmpty()) {
this.fullName = name.trim();
}
}
// 获取出生年份
public int getBirthYear() {
return yearOfBirth;
}
// 设置出生年份(带验证)
public void setBirthYear(int year) {
if (year > 0 && year < 2025) {
this.yearOfBirth = year;
}
}
}
上述代码展示了基本的属性封装方式。通过私有字段配合公有访问方法,实现了对数据的控制。
- 复杂属性的应用场景 当需要管理多个相关对象时,可使用集合类型作为属性,例如列表或映射。
import java.util.*;
public class Department {
private String deptName;
private List<Employee> teamMembers;
public Department(String name) {
this.deptName = name;
this.teamMembers = new ArrayList<>();
}
public String getDepartmentName() {
return deptName;
}
public void addEmployee(Employee emp) {
if (emp != null && !teamMembers.contains(emp)) {
teamMembers.add(emp);
}
}
public List<Employee> getTeam() {
return new ArrayList<>(teamMembers); // 返回副本避免外部修改
}
public int getMemberCount() {
return teamMembers.size();
}
}
该示例中,teamMembers 是一个 List<Employee> 类型的属性,用于动态维护部门成员集合。
- 类图说明(Mermaid语法)
classDiagram
class Person {
-String fullName
-int yearOfBirth
+Person(String, int)
+getName() String
+setName(String)
+getBirthYear() int
+setBirthYear(int)
}
class Department {
-String deptName
-List~Employee~ teamMembers
+Department(String)
+getDepartmentName() String
+addEmployee(Employee)
+getTeam() List~Employee~
+getMemberCount() int
}
Department "1" -- "*" Employee : 包含
该类图清晰表达了 Department 与 Employee 之间的关联关系。