封装
目录
概念
封装(encapsulation)是指对于某个对象,Java隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。
封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。
要访问该类的代码和数据,必须通过严格的接口控制。
封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。
适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。
优点
- 良好的封装能够减少耦合。
- 类内部的结构可以自由修改。
- 可以对成员变量进行更精确的控制。
- 隐藏信息,实现细节。
例子
import java.util.*;
class Member {
public String name;//公共属性name
public int salary;//公共属性salary
private String sex;//私有属性sex
public void setSex(String sex) {//定义一个公共的方法来设置sex属性
this.sex=sex;
}
public String getSex() {//定义一个公共的方法来获取sex属性
return this.sex;
}
public void setHobby(String hobby) {//定义一个公共的方法来设置hobby属性
this.hobby=hobby;
}
public String getHobby() {//定义一个公共的方法来获取hobby属性
return this.hobby;
}
public void talk() {//定义一个公共的方法talk
System.out.println(name+"聊得非常开心!");
}
}
public class Demo {
public static void main(String[] args) {
Member m=new Member();
m.name="小红";//对公共属性name直接赋值
m.salary=5000;//对公共属性salary也可以直接赋值
m.setSex("女");//对私有属性操作,要通过get来访问、set来更改的方法
m.setHobby("逛街");//同上
System.out.println("姓名:"+m.name+",性别:"+m.getSex()
+",薪水:"+m.salary+",爱好:"+m.getHobby()+"!");
m.talk();//可以调用Member类中的公共方法talk
}
}
标签:封装,String,sex,学习,hobby,Java,public,属性
From: https://www.cnblogs.com/BingBing-8888/p/18358540