封装是指将类的实现细节隐藏起来,只对外部公开有用的方法和属性。封装可以提高代码的安全性、可读性和可维护性。
在 Java 中,可以使用访问修饰符来限制类、属性和方法的访问范围。Java 中有四种访问修饰符:
public
:公开的,可以被任何类访问。protected
:受保护的,只能被当前类、子类和同一包中的类访问。default
:默认的,只能被同一包中的类访问,省略访问修饰符时,默认为该修饰符。private
:私有的,只能被当前类访问。下面是一个封装示例,其中 Student
类封装了 name
和 age
两个属性,只对外部公开了 getName()
和 getAge()
两个方法:
public class Student {
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;
}
}
在上面的代码中,name
和 age
属性被声明为 private
,只能在 Student
类内部访问。对外部提供了 getName()
和 getAge()
方法来获取属性值,同时提供了 setName()
和 setAge()
方法来设置属性值。由于属性是被封装的,外部无法直接访问,只能通过方法来访问。
封装可以提高代码的安全性、可读性和可维护性。具体来说,封装的优点有: