封装
封装
高内聚、低耦合
- 高内聚:类的内部数据操作细节自己完成,不允许外部干涉
- 低耦合:仅对外暴露少量的方法用于使用
设计思想
- 隐藏内部的复杂性、只对外公开简单接口,便于外界调用,从而提高系统的可扩展性、可维护性
- 把该隐藏的隐藏、该暴露的暴露出来
体现
封装性的体现不等同于封装性
体现一
我们将类的属性私有化(private)
提供公共(public)的方法来获取(getXxx)和设置(setXxx)此属性的值
- setXxx是设置属性
- getXxx是打印属性
体现二
不对外暴露的私有化方法
体现三
单例模式
权限修饰符(4种,从小到大排列)
封装性的体现需要权限修饰符的配合
- private(私有的)
(在哪里声明哪里可以用)
类内部可以使用
- 缺省(default)
- 什么都不写
- 类内部可以使用
- 同一个包里面可以使用
- protected
- 类内部可以使用
- 同一个包里面可以使用
- 不同包的子类可以使用
- public
- 类内部可以使用
- 同一个包里面可以使用
- 不同包的子类可以使用
- 同一个工程内部可以使用
- 注意
- 4种权限可以用来修饰类的内部结构:属性、方法、构造器、内部类
- 修饰类只能用缺省和public
构造器(构造方法)
作用
- 创建对象
- 初始化对象信息
说明
- 如果没有显式定义类的构造器的话,则系统默认提供一个空参的构造器(构造器的权限与类的权限相同)
- 一旦显式定义了类的构造器,系统就不再提供默认的空构造器
- 一个类中至少会有一个构造器
定义构造器的格式
权限修饰符 类名(形参列表){ }
构造器与类同名

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( )方法

浙公网安备 33010602011771号