JAVA面向对象特征之一------封装性

一、为什么需要封装性

1.解释

  • 客观世界里的每一个事物的内部信息都隐藏在其内部,外界无法直接操作和修改,只能通过指定的方式进行访问和修改

2.面向对象开发原则:高内聚、低耦合

  • 高内聚:类的内部数据操作细节自己来完成,不允许外部干涉。
  • 低耦合:仅暴露少量的方法给外部使用,尽量方便外部调用。

二、什么是封装性?

  • 所谓封装,就是把客观事物封装成抽象概念的类,并且类可以把自己的数据和方法只向可信的类和对象开放,向没必要开放的类或者对象隐藏信息。
    简单说:把该露出来的露出来,该藏起来的藏起来。这就是封装性的设计思想。

三、Java中如何实现封装?

1.权限修饰符

  • java规定了四种权限修饰
访问范围privatedefaultprotectedpublic
同一类中
同一包中子类
不同包子类
全局范围

2.作用

  • 我们可以使用4种权限修饰来修饰类及类的内部成员。当这些成员被调用时,体现可见性的大小。

3.封装性的体现

  • 私有化(private)类的属性,提供公共(public)的get 和 set方法,对此属性进行获取或修改
  • 将类中不需要对外暴露的方法,设置为private.
  • 单例模式中构造器private的了,避免了在类的外部创建实例。

四、构造器(constructor)

1.理解

  • constructor: n.构造者

2.构造器的作用

  • 作用1:搭配new关键字,创建类的对象
  • 作用2:在创建对象的同时,可以给对象的相关属性赋值

3.构造器的使用说明

  • 使用格式:权限修饰符 类名(形参列表){ }
  • 创建类后,如果编写者不提供任何构造器,系统会默认提供一个空参的构造器,且构造器的权限与类声明的权限相同。
  • 一旦类中显示声明了构造器,则系统不再提供默认的空参的构造器。
  • 一个类中可以创建多个构造器,彼此之间构成重载。

五、实例变量赋值过程

在类的属性中,可以有哪些位置给属性赋值?

  • 显示赋值
  • 构造器中赋值
  • 通过方法赋值
  • 通过访问对象属性赋值
  • 默认赋值

六、JavaBean的理解

JavaBean是一种Java语言写成的可重用组件
  • JavaBean,是指符合以下标准的Java类
    ①.类是公共的
    ②.有一个无参的公共的构造器
    ③.有属性,且有对应的get、set方法

七、this关键字的使用

1.this可以调用的结构

  • 成员变量
  • 方法
  • 构造器

2.this的理解

  • 当前对象(在方法中调用时) 或 当前正在创建的对象(在构造器中调用时)

3.this调用属性和方法

  • 针对于方法内的使用情况:(准确的说是非static修饰的方法)

一般情况:我们通过对象a调用方法,可以在方法内调用当前对象a的属性或其他方法。此时我们可以在属性和其他方法前使用“this.”,表示当前属性或方法所属对象a。但是,一般情况下,我们都选择省略此“this.”结构。

特殊情况:如果方法的形参变量名与对象属性同名,我们必须使用“this.”进行区分。使用this.修饰的变量即为属性(或成员变量),没有使用“this.”修饰的变量。即为局部变量。

4.针对与构造器内的使用情况:

一般情况:我们通过构造器创建对象时,可以在构造器内调用当前正在创建的对象的属性或方法。此时,我们可以在属性和方法前使用"this.",表示当前属性或方法所属的对象。但是,一般情况下,我们都选择省略此"this."结构

特殊情况:如果构造器的形参与正在创建的对象的属性同名了,我们必须使用"this."进行区分。使用this.修饰的变量即为属性(或成员变量),没有使用this.修饰的变量,即为局部变量。

5.this调用构造器

  • 格式: “this(形参列表)”
  • 我们可以在类的构造器中,调用当前类中指定的其它构造器要求:"this(形参列表)"必须声明在当前构造器的首
  • 结论: "this(形参列表)"在构造器中最多声明一个
  • 如果一个类中声明了n个构造器,则最多有n-1个构造器可以声明有"this(形参列表)"的结构
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爪哇哇哇哇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值