Java
基础知识
01概述
02变量
03运算符
04程序控制语句
05数组
06面向对象编程
07代码练习
08重载
09作用域
10构造方法&构造器
11this
12包
13修饰符
14封装
15继承
16super
17覆盖&重写
18多态
19零钱通项目
20类变量&类方法
21抽象类
22接口
23内部类
24枚举
25泛型
26常用API
27lambda表达式
28正则表达式
29异常
30File&IO流
31日志技术
32多线程
33网络编程
-
+
首页
14封装
## 面向对象编程三大特征 - 封装 - 继承 - 多态 ## 封装的概述 封装(encapsulation)就是将抽象出来的数据[属性]和对数据的操作[方法]封装在一起,数据被保护在内部,程序的其他部分只有通过被授权的操作[方法],才能对数据进行操作。 ## 封装的好处 - 隐藏实现的细节 - 可以对数据进行验证,保证安全合理 ## 封装实现的流程 - 将属性进行私有化private【不能在外部直接修改属性】 - 提供一个公共的(public)set方法,用于对属性判断并赋值 - 提供一个公共的(public)get方法,用于获取属性的值 ## 案例 **需求** ```txt 设置一个程序,不能随便查看员工的年龄、工资等隐私问题。 并对设置的年龄进行合理的验证,年龄合理则设置,否则给默认值。 年龄必须在1-120,工资不能直接查看,name的长度在2-6个字符。 ``` **代码** ```java package com.xbxaq.encap; public class Encapsulation { public static void main(String[] args) { Person person = new Person(); person.setName("jackasdadsada"); person.setAge(1000); person.setSalary(20000); System.out.println(person.info()); } } class Person { public String name; private int age; private double salary; public String getName() { return name; } public void setName(String name) { if (name.length() >= 2 && name.length() <= 12){ this.name = name; }else { System.out.println("字符不符合,请重新输入"); this.name = "null"; } } public int getAge() { return age; } public void setAge(int age) { if (age >= 1 && age <= 120){ this.age = age; } else{ System.out.println("年龄需要在1-120之间"); this.age = 20; } } public double getSalary() { return salary; } public void setSalary(double salary) { this.salary = salary; } public String info(){ return ("name:" + name + ", age:" + age + ", salary:" + salary); } } ``` 
毛林
2025年9月7日 12:13
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码