面向对象第一个特征-封装(Encapsulation)
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.封装概述(Encapsulation)
1>.什么是封装
是指隐藏对象的熟悉和实现细节,仅对外提供访问方式。说白了就是将数据和操作组织到类中,即属性和方法。
2>.封装的好处
将变化隔离
便于使用
提高重用性
提高安全性
3>.封装原则
将不需要对外提供的内容都隐藏起来。
把数据都隐藏,提供公共方法对其访问。
二.private(私有)关键字
private关键字:
是一个权限修饰符,用于修饰成员变量(包括属性和成员函数),被私有化的成员只在本类中有效。
常用场景:
将成员变量私有化,对外提供对应的getter,setter方法对其进行访问。提高堆数据访问的安全性。
私有是封装的一种体现形式。
三.代码封装案例
1>.定义Person类对age属性进行封装
/** * * @author 尹正杰 * */ public class Person { String name; //将age变量私有化,此时只有当前类可以范围该变量 private short age; public void speak() { System.out.println("My name is " + name + ", 我今年" + age + "岁啦!"); } //定义setter方法 public void setAge(short num) { if(num > 0 && num <= 150) { age = num; }else { System.out.println("Error: 您给定的年龄不合法,age字段赋值失败,正确范围为(0,150]"); } } //定义getter方法 public int getAge() { return age; } }
2>.编写PersonDemo.java代码
/** * * @author 尹正杰 * */ public class PersonDemo { public static void main(String[] args) { Person p1 = new Person(); short age = 18; p1.name = "尹正杰"; p1.setAge(age); p1.speak(); } }