1、封装的概念:
将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来对隐藏的信息进行操作和访问。
2、好处:
(1)只能通过规定的方法访问数据
(2)隐藏类的实例细节,方便修改和实现。
3、封装的实现步骤
(1)修改属性的可见性设为(private)
(2)创建getter/setter方法(用于属性的读写)(通过这两种方法对数据进行获取和设定,对象通过调用这两种发方法实现对数据的读写)
在使用eclipse写java程序中 同时按shift+Alt+s 选择Generate Getters and setters
可以自动的写出setget的方法
经过封装的属性,不能直接访问,要通过公共属性get/set方法访问,代码如下:
/** * 某公司要开发内部的 “办公管理信息系统”,请使用面向对象的思想设计部门和员工信息 * @author Administrator * */ public class Department { public int depsno;//部门编号 public String depname;//部门名称 //封装 public int getDepsno() { return depsno; } public void setDepsno(int depsno) { this.depsno = depsno; } public String getDepname() { return depname; } public void setDepname(String depname) { this.depname = depname; } }
public class Employees { public String empname; public char empsex; public int empage; public String empdepname;//所在部门 public String empduty;//职务 public String getEmpname() { return empname; } public void setEmpname(String empname) { this.empname = empname; } public char getEmpsex() { return empsex; } public void setEmpsex(char empsex) { this.empsex = empsex; } public int getEmpage() { return empage; } public void setEmpage(int empage) { this.empage = empage; } public String getEmpdepname() { return empdepname; } public void setEmpdepname(String empdepname) { this.empdepname = empdepname; } public String getEmpduty() { return empduty; } public void setEmpduty(String empduty) { this.empduty = empduty; } public static void main(String[] args) { Department dep = new Department(); Employees emp = new Employees(); //通过set属性传递数据 dep.setDepname("销售部"); emp.setEmpname("张敏"); emp.setEmpage(26); emp.setEmpduty("销售经理"); //通过get属性得到数据 System.out.println("我是"+emp.getEmpname()+",今年"+emp.getEmpage()+"岁"); System.out.println("我的职位是"+dep.getDepname()+"的"+emp.getEmpduty()); } }