在Java中实现封装通常遵循以下步骤:
修改属性的可见性:
将类的属性设置为私有(private),以限制外部直接访问这些属性。
```java
public class Person {
private String name;
private int age;
}
```
提供公共的访问方法:
为每个属性创建一对公共的getter和setter方法,用于外部访问和修改这些属性。
```java
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
```
在getter和setter方法中添加逻辑:
可以在这些方法中加入对属性值的合法性进行判断,确保数据的正确性和安全性。
```java
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
if (name != null && !name.isEmpty()) {
this.name = name;
} else {
throw new IllegalArgumentException("Name cannot be null or empty");
}
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age > 0) {
this.age = age;
} else {
throw new IllegalArgumentException("Age must be greater than 0");
}
}
}
```
通过以上步骤,Java类实现了封装,隐藏了类的内部实现细节,并通过公共接口与外部世界交互。这有助于提高代码的可维护性和安全性