封装
java三大特性之一,封装性。在面向对象程序设计中,封装就是类中的数据信息进行隐藏,在定义类的一些属性的时候,使用关键字private修饰属性,这样只能本类可以使用该属性,其他来就不能使用该属性了,封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。
那么,其他类如何调用该类的属性呢?要访问该类的代码和数据,必须通过严格的接口控制。现在我们可以使用setter和getter方法来设置和获取其中的数据。
先上代码,再解释:
public class Student {
private int age;
private String name;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建学生对象
Student student = new Student();
student.setAge(18);
student.setName("Cristiano Ronaldo");
System.out.println("年龄为"+student.getAge()+"的"+student.getName()+"在驰骋绿茵场");
}
}
输出结果为:
年龄为18的Cristiano Ronaldo在驰骋绿茵场
首先我们创建一个封装性的学生类,属性是age和name。然后设置setter和getter方法。该类的方法用public修饰,也是外部类访问该类成员变量的入口。
在其他类中,使用setter方法设置实例化对象的属性,使用getter方法来获取实例化对象的属性。
好处
-
良好的封装能够减少耦合。
-
类内部的结构可以自由修改。
-
可以对成员变量进行更精确的控制。
-
隐藏信息,实现细节。
总之,一句话,封装是隐蔽信息的一种机制