92621-封装与构造器

面向对象的特性一 : 封装与隐藏

为什么引入封装性?

  1. 程序设计追求“高内聚,低耦合”
    1. 高内聚:类的内部数据操作细节自己完成,不允许外部干涉
    2. 低耦合:仅对外暴露少量的方法用于使用
  2. 隐藏对象内部的复杂性,之对外公开简单的接口。便于外界调用,从而提高系统的可扩展性,可维护性。通俗的说,把该隐藏的隐藏起来,把该暴露的暴露出来。这就是封装性的设计思想

问题引入

  • 将age属性私有化:private int age 避免直接调用属性进行赋值修改。通过setAge()方法来修改age

封装性思想体现:public private default protected

  1. 将类的属性私有化,提供公共的get、set方法来获取或设置属性的值
  2. 不对外暴露的私有方法
  3. 单例模式(将构造器私有化)
  4. 如果不希望类在包外被调用,可以将类设置为缺省的。

Java规定的四种权限修饰符

  1. private < default < protected < public

  2. 具体修饰范围:

  3. 四种权限都可以用来修饰类的内部结构:属性、方法、构造器、内部类

    修饰类的话,只能使用:缺省、public
    在这里插入图片描述

构造器(或构造方法) Constructor

  1. 构造器的作用:

    1. 创建对象
    2. 初始化对象的信息
  2. 使用说明:

    1. 没有显式的定义类的构造器的话,则系统默认提供一个空参的构造器
    2. 定义构造器的格式:权限修饰符 类名(形参列表){ }
    3. 一个类中定义的多个构造器,彼此构成重载
    4. 一旦我们显式的定义了类的构造器之后,系统就不再提供默认的空参构造器了
    5. 一个类中,至少会有一个构造器
  3. example:

    public Person(){   
    }
    public Person(String n){
        name = n
    }
    public Person(String n,int m){
        name =n;
        age = m;
    }
    

This

  1. 可以调用的结构:属性、方法;构造器
  2. this调用属性、方法:
    1. this理解为:当前对象 或 当前正在创建的对象
  3. this调用构造器:

总结:属性赋值的先后顺序

  1. 默认初始化值

  2. 显式初始化

  3. 构造器初始化

  4. 通过 对象.方法 或 对象.属性 的方式,赋值

    以上: 1 --> 2 --> 3 --> 4

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值