封装

封装

高内聚、低耦合

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

设计思想

  1. 隐藏内部的复杂性、只对外公开简单接口,便于外界调用,从而提高系统的可扩展性、可维护性
  2. 把该隐藏的隐藏、该暴露的暴露出来

体现

封装性的体现不等同于封装性

体现一

我们将类的属性私有化(private)

提供公共(public)的方法来获取(getXxx)和设置(setXxx)此属性的值

  • setXxx是设置属性
  • getXxx是打印属性

体现二

不对外暴露的私有化方法

体现三

单例模式

权限修饰符(4种,从小到大排列)

封装性的体现需要权限修饰符的配合

  • private(私有的)

(在哪里声明哪里可以用)

类内部可以使用

  • 缺省(default)
    • 什么都不写
    • 类内部可以使用
    • 同一个包里面可以使用
  • protected
    • 类内部可以使用
    • 同一个包里面可以使用
    • 不同包的子类可以使用
  • public
    • 类内部可以使用
    • 同一个包里面可以使用
    • 不同包的子类可以使用
    • 同一个工程内部可以使用
  • 注意
  1. 4种权限可以用来修饰类的内部结构:属性、方法、构造器、内部类
  2. 修饰类只能用缺省和public

构造器(构造方法)

作用

  1. 创建对象
  2. 初始化对象信息

说明

  1. 如果没有显式定义类的构造器的话,则系统默认提供一个空参的构造器(构造器的权限与类的权限相同)
  2. 一旦显式定义了类的构造器,系统就不再提供默认的空构造器
  3. 一个类中至少会有一个构造器

定义构造器的格式

权限修饰符 类名(形参列表){ }

构造器与类同名

this关键字

作用

  • 可以用来修饰、调用:属性、方法、构造器

    this.age------> . 后面的不是属性就是方法

    理解:当前对象或当前正在创建的对象

修饰属性和方法

this理解为当前对象

  • 修饰属性
  • 修饰方法
  • 在类的方法中,可以使用“this.属性”或“this.方法”的方式来调用当前对象属性或方法
    • 通常情况下,可以选择省略“this.”
    • 特殊情况下,如果方法的形参和属性同名时,我们必须显式的使用“this.变量”的方式表明此变量是属性而非形参

修饰构造器

  • 在类的方法中,可以使用“this.属性”或“this.方法”的方式来调用当前正在创建的对象的属性或方法
    • 通常情况下,可以选择省略“this.”
    • 特殊情况下,如果构造器的形参和属性同名时,我们必须显式的使用“this.变量”的方式表明此变量是属性而非形参

调用构造器

  • 在类的构造器中,可以显式的使用“this(形参列表)”方式,来调用指定的本类中其他构造器
  • 构造器不能通过“this(形参列表)”方式调用自己
  • 如果一个类中有n个构造器,最多有n-1个构造器中使用“this(形参列表)”
  • 规定:“this(形参列表)”必须声明在当前构造器首行
  • 构造器内部,最多只能声明一个“this(形参列表)”,用来调用其他构造器

包装类

针对8种基本数据类型定义相应的引用类型,使得基本数据类型的变量具有类的特征

基本数据类型---->包装类

调用包装类的构造器

包装类---->基本数据类型

调用包装类的XXXValue( )

自动装箱与自动拆箱

注意

Integer自动装箱的数值范围是[-128,127]

  • Integer内部定义了IntegerCache结构,IntegerCache中定义了一个Integer[ ]数组
  • 保存了从-128到+127范围的整数
  • 目的:提高效率

基本数据类型、包装类---->String类型

  • 方式一:连接运算
  • 方式二:调用String重载的vauleOf(XXX xxx)

String类型---->基本数据类型、包装类

调用包装类的parseXXX( )方法

posted @ 2020-06-22 19:16  南煎丸子  阅读(109)  评论(0)    收藏  举报