第6章 面向对象(下) 前言
第6章 面向对象(下)
本章要点
- 包装类及其用法
toString方法的用法==和equals的区别static关键字的用法- 实现单例类
final关键字的用法- 不可变类和可变类
- 缓存实例的不可变类
abstract关键字的用法- 实现模板模式
- 接口的概念和作用
- 定义接口的语法
- 实现接口
- 接口和抽象类的联系与区别
- 面向接口编程的优势
- 内部类的概念和定义语法
- 非静态内部类和静态内部类
- 创建内部类的对象
- 扩展内部类
- 匿名内部类和局部内部类
Lambda表达式与函数式接口- 方法引用和构造器引用
- 枚举类概念和作用
- 手动实现枚举类
JDK1.5提供的枚举类- 枚举类的成员变量、方法和构造器
- 实现接口的枚举类
- 包含抽象方法的枚举类
- 垃圾回收和对象的
finalize方法 - 强制垃圾回收的方法
- 对象的软、弱和虚引用
JAR文件的用途- 使用
jar命令创建多版本JAR包
本章主要内容
包装类
Java为8个基本类型提供了对应的包装类,通过这些包装类可以把8个基本类型的值包装成对象使用,
自动装箱 自动拆箱
JDK1.5提供了自动装箱和自动拆箱功能,允许把基本类型值直接赋给对应的包装类引用变量,也允许把包装类对象直接赋给对应的基本类型变量。
final关键字
Java提供了final关键字来修饰变量、方法和类,系统不允许为final变量重新赋值,子类不允许覆盖父类的final方法, final类不能派生子类。通过使用final关键字,允许Java实现不可变类,不可变类会让系统更加安全。
抽象和接口
abstract和interface两个关键字分别用于定义抽象类和接口,抽象类和接口都是从多个子类中抽象出来的共同特征。
但抽象类主要作为多个类的模板,而接口则定义了多类应该遵守的规范。
Lambda表达式
Lambda表达式是Java8的重要更新,本章将会详细介绍Lambda表达式的相关内容。
枚举
enum关键字用于创建枚举类,枚举类是一种不能自由创建对象的类,枚举类的对象在定义类时已经固定下来。枚举类特别适合定义像行星、季节这样的类,它们能创建的实例是有限且确定的。
其他
本章将进一步介绍对象在内存中的运行机制,并深入介绍对象的几种引用方式,以及垃圾回收机制如何处理具有不同引用的对象,并详细介绍如何使用**jar命令**来创建JAR包。