大佬给推荐的韩顺平老师的课程 2021年刚刚录的船新版本!
【零基础 快速学Java】韩顺平 零基础30天学会Java
硬把从另一个讲师那里看了300多集的我拽过来 几十节课一下子爱上这个节奏了!安利!!
具有其他语言基础的盆友只需要把前几章的章节总结简单看一下 然后再去着重看需要学习的章节就可以了!
知识点分的非常清晰! 每章还有总结 这…真的是我理想中的学习资料呐!
学习笔记整理过后放到这里
- 一方面是让自己再二次记忆一下
- 一方面是希望可以帮到有这方面知识需要的朋友 给他们一个新的切入点来重新了解这一个知识
本专题包括以下几个主要知识点~
本次笔记主要记录 封装的内容
别看封装思想很简单
但是如果这里的基础没有打好 之后的学习会很困难!
毕竟基础不牢 地动山摇嘛~
所以要多动手练一下 强化自己的面向对象思想!
再强调下 要敲一遍例子呐~
文章目录如下 跳转到感兴趣的内容看下吧~
案例尽量打开IDE动手敲一下吧!
韩老师给的例子真的很棒!
封装
【1】封装简介
先温习一下基本知识——
封装是个啥?
封装(encapsulation)就是把抽象出的数据 —— 属性
和对数据的操作 —— 方法
封装在一起
数据被保护在内部 程序的其他部分只有通过被授权的操作 方法
才能对数据进行操作
封装的理解和好处
这个很重要嗷~
我们为啥要封装啊
理由如下~
1.封装可以隐藏实现某个功能的细节
拿来就能用!
比如某种方法是用来连接数据库的
但是我们不用在乎这玩儿是咋写的 直接调用(传入参数)即可!
2.封装可以对数据进行验证 保证安全合理
输入数据不符合常理?不行!
控制属性值的合理性也很重要!
【2】封装实现的步骤
-
属性私有化private
让外界不能直接修改属性
-
提供一个公共的(public)set方法
用于对属性判断并赋值
-
提供一个公共的(public)get方法
用于获取属性的值
之后通过案例进行加深理解!
【3】使用案例快速入门封装
接下来动手敲一下吧!!
再温习下 封装都有哪些功能和特性呢——
- 年龄、薪水是private的 无法直接改这些数据
- 设置
setName getName函数
用于获取属性的值 对属性判断并赋值
达到目的:
-
不可以查看封装在内部的数据——保证数据的安全与私密
-
可以对数据进行验证 如果验证不通过 设置默认值
public class Encapsulation01 {
public static void main(String[] args) {
Person person = new Person();
person.setName("sfzlovehy");
person.setAge(10000);
person.setSalary(200000);
System.out.println(person.info());
}
}
class Person {
public String name;//名字公开
private int age;//年龄私有化
private double salary;
// 手写setXXX和getXXX太慢 使用快捷键—— Alt + Insert
// 然后根据要求完善代码
// 提供一个公共的(public)get方法 用于获取属性的值
public String getName() {
return name;
}
// 提供一个公共的(public)set方法 用于对属性判断并赋值
public void setName(String name) {
//加入对字符串数据的校验
if (