本文主要对《JAVA核心技术》第四章 对象与类中的4.1-4.6进行小结。
主要包括:
一、基本概念
二、自定义类
三、静态域和静态方法
四、对象的构造
一、基本概念
- 创建类的实例:类构造对象的过程
- 封装:也叫数据隐藏,将数据、行为组合在一个包里面
- 状态:一个对象中的所有数据(实例域)和方法
- 类之间的三种关系
- 依赖(uses-a)
- 聚合(has-a)
- 继承(is-a)
- 构造器方法、访问器方法、更改器方法
- 其他注意的地方
- new Data()返回的是一个引用
- java非引用传递,而是值传递
二、自定义类
- 构造器方法(用来初始化对象)与其他方法有以下不同点:
- 构造器方法必须随着new的执行而调用,而普通的方法需要对象或类的调用
- 对象实例化后,不能再调用,如一个已经实例化的对象james,不能再调用james.Employee('''''')
- 构造器有5个特点
- 与类同名
- 可以有多个构造器
- 不同构造器参数个数可以不同
- 无返回值
- 与new同时调用
- 隐式参数 this
- 封装
- 不要返回引用类型,这会破坏封装性——可以在外部通过引用来修改私有变量
- 可以使用clone()方法返回一个克隆
- 基于类的访问权限
- 一个方法可以访问同类不同对象的私有变量!
- 私有方法和final关键字
三、静态域和静态方法
- 静态域——类域;可以理解为所有同类对象的公共值
- static final静态常量
- 静态方法(没有this的方法)
- 工厂方法?
四、对象的构造
- 重载
- 返回类型非方法签名的一部分,所以构造方法仅返回类型不同时会报错
- 无参构造器
- 无自定义构造器时会有一个默认构造器
- 当有自定义构造器时,午餐构造器将会被替换,不能再调用
- 显示域初始化
- java中可以直接不需要自定义构造器,在类中实例域初始化
- 初始化甚至可以用方法的返回值
- this(a,b)构造器相当于Employee(a,b)
- 初始化块、静态初始化块
- 都优先于主体代码块
- 初始化块随着对象的创建调用一次,静态初始化块随着类的创建调用一次
- 后者优先于前者