第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
包。