Javaz中day12 面向对象之封装

面向对象之封装

在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。

封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。

要访问该类的代码和数据,必须通过严格的接口控制。

封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。

适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

封装的优点

    1. 良好的封装能够减少耦合。
    1. 类内部的结构可以自由修改。
    1. 可以对成员变量进行更精确的控制。
    1. 隐藏信息,实现细节。
  • 访问修饰符 public protected default private
  • Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。
  • public:对所有类可见。使用对象:类、接口、变量、方法
  • protected:对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
  • default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
  • private: 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
  • 外部如何访问内部的私有成员变量 适用本类中的共有方访问本类中的私有成员变量
  • 在一个计算机讲座中 一名男同学摸了一名女同学的胸 女同学 怒吼道 这是我的隐私(private)部位 男同学轻蔑一笑说 but We are in the same class
  • 此处this为指向成员变量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 方法名与类名相同 方法体没有返回值但是在方法声明的时候却不需要使用void修饰的方法我们称之为构造方法
  • 构造方法的作用 用于初始化对象 对象的属性赋值
  • 没有参数的构造方法我们称之为无参构造方法
  • 代码中没有编写过构造方法 jvm在执行对象初始化的时候帮助程序追加无参构造方法
  • 注意当一个类中 既没有无参构造方法也没有有参构造方法的时候jvm会追加一个无参构造方法
  • 但是当一个类中 存在有参构造方法没有编写无参构造方法的时候jvm不会追加无参构造方法
  • 所以不论在任何情况下一定要自己手写有一个无参构造方法
  • 花括号包裹起来的代码我们称之为代码块或代码段
  • 只有一对花括号包裹起来的代码我们称之为构造代码块
  • 构造代码块与构造方法一样都是在类被实例化的过程中被调用的
  • 并且构造代码块在构造方法之前先执行
  • 类每次被实例化的过程中都会调用构造代码块
  • 使用static修饰的构造代码块我们称之为静态代码块
  • 当类加载的时候执行静态代码块 而且静态代码块 仅执行一次 不可多次执行
  • 而构造代码块是在类实例化的过程中执行的
  • 执行优先级 静态代码块—>构造代码块—>构造方法
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

包装类 包装类对象—>基本数据类型 拆箱 基本数据类型—>包装类对象 装箱 自动装拆箱

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值