为了满足Java的封装性的要求,需要将类里面的所有属性定义为private,提供一个公共的getter 和setter 接口去访问属性。private String name; private int age; private double weight;
时间: 2024-10-20 10:17:56 浏览: 27
在Java中,封装是一种重要的面向对象设计原则,它强调数据的隐藏和控制。通过将属性设置为`private`,我们可以确保外部代码无法直接修改这些内部状态,提高数据的安全性和一致性。例如:
```java
public class Person {
// 属性声明为 private 并提供 getter 和 setter 方法
private String name;
private int age;
private double weight;
// Getter 方法(允许外部获取值)
public String getName() {
return name;
}
// Setter 方法(允许外部设置值,通常包含一些验证逻辑)
public void setName(String name) {
this.name = name;
}
// 类似地,为age和weight属性也提供getter和setter方法
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getWeight() {
return weight;
}
public void setWeight(double weight) {
if (weight >= 0) { // 验证重量是否合理
this.weight = weight;
} else {
throw new IllegalArgumentException("Weight cannot be negative.");
}
}
}
```
通过这种方式,外部程序只能通过定义好的接口(即getter和setter方法)访问对象的状态,而不会直接暴露底层实现细节,提高了代码的可维护性和安全性。
阅读全文