Java编写属性getter和setter
时间: 2024-10-27 07:08:19 浏览: 12
在Java中,属性的`getter`和`setter`方法用于封装类中的字段,提高数据的安全性和灵活性。下面是一个简单的例子,展示如何为一个类中的字段编写`getter`和`setter`方法:
假设有一个名为`Member`的类,其中包含一个私有字段`points`(表示会员积分),可以这样定义:
```java
public class Member {
// 私有字段,外部不能直接访问
private int points;
// Getter 方法
public int getPoints() {
return points;
}
// Setter 方法
public void setPoints(int points) {
this.points = points;
}
}
```
### 解释
1. **私有字段**:`private int points;` 这行代码声明了一个私有的整型变量 `points`,外部类无法直接访问这个变量。
2. **Getter 方法**:`public int getPoints()` 是一个公共方法,用于获取 `points` 字段的值。通过调用 `getPoints()` 方法,外部类可以读取 `points` 的值。
3. **Setter 方法**:`public void setPoints(int points)` 是一个公共方法,用于设置 `points` 字段的值。通过调用 `setPoints(int points)` 方法,外部类可以修改 `points` 的值。
### 为什么使用 Getter 和 Setter?
- **封装性**:隐藏内部数据,防止外部直接修改对象的状态。
- **控制访问**:可以在 `setter` 方法中添加验证逻辑,确保数据的有效性。
- **灵活性**:可以在 `getter` 和 `setter` 方法中添加额外的逻辑,如日志记录、计算等。
### 示例用法
```java
public class Main {
public static void main(String[] args) {
Member member = new Member();
// 设置积分
member.setPoints(100);
// 获取积分
int points = member.getPoints();
System.out.println("当前积分: " + points);
}
}
```
在这个示例中,`Main` 类创建了一个 `Member` 对象,并通过 `setPoints` 方法设置了积分值,然后通过 `getPoints` 方法获取并打印了积分值。
阅读全文