该露的露,该藏的藏我们程序设计要追求" 高内聚,低耦合 ",高内聚就是类的内部数据细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用 封装(数据的隐藏)通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。 属性私有,get/set 提高程序安全性,保护数据 隐藏代码的实现细节 统一接口 系统可维护增加了 private关键字 是一个权限修饰符 ,可以用来修饰成员变量和成员方法.被私有化的成员只能在本类中访问。 package com.cnblogs; //本类用于实现 public class Application { public static void main(String[] args) { //实例化 Person student = new Person(); student.setAge(520);//输入年龄不合法 student.setAge(21); System.out.println(student.getAge());//21 student.show();//普通方法!!! } } package com.cnblogs; /* person类 */ public class Person { public static void main(String[] args) { //封装方法的调用 Person student = new Person(); student.eat();//干饭了!!! } //姓名 private String name; //学号 private int id; //性别 private char sex; //年龄 private int age; //提供一些public的get、set方法 //get 获得这个数据 //set 给这个数据设值 //idea Alt + insert 快捷键 加Getter and Setter 自动创建get set 方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public char getSex() { return sex; } public void setSex(char sex) { this.sex = sex; } public int getAge() { return age; } //封装的优势:根据需要或者常识,规范一些值得设定 public void setAge(int age) { if(age > 120 || age < 0){ System.out.println("输入年龄不合法"); }else{ this.age = age; } } public void show(){ System.out.println("普通方法!!!"); } //封装方法只能在本类中调用 private void eat(){ System.out.println("干饭了!!!"); } }