Java中封装的学习

封装


概念

封装(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
	}
}
posted @ 2024-08-14 11:27  BingBing爱化学-04044  阅读(37)  评论(0)    收藏  举报