第六章:面向对象(下)
1.自动装箱和拆箱:基本数据类型《——》对象。
2.缓存:下一次还要用到!
3.所有的java对象都是Object类的子类,所以toString()方法所有对象都具备哦!
4.基本类型变量相等: “==”来判断! 注意区分:'==' 和 equals()哦!
5.new String():创建的对象在内存区(堆内存中哦)
常量池:编译的时候就确定下来哦!
6.单例类:一个类始终只能创建一个实例!
实现单例: 1.私有构造器 2.类变量来缓存曾经创建的实例 3.静态方法返回单例。
7. final修饰的基本类型变量, 值不能被改变。
final修饰的引用变量,只保证引用类型变量的引用不变,但对象是可以变得哦!
final修饰的方法不可被重写!
final修饰的类不可被继承!
8. 抽象类: 就是用来被继承的! 是类的抽象,而类是对象的抽象。
A:使用abstract修饰。
B:方法使用abstract修饰,没有方法体。
得:可以包含抽象方法。 失:不能用于创建实例。
9. 接口是一种规范, 规范和实现分离! 接口是用来被实现的! 接口和抽象类:抽象的更彻底!
接口中的成员变量:默认总是使用public static final修饰的哦!
接口支持多继承哦!
10. 软件设计模式: 对经常出现的软件设计问题的成熟解决方案!
11. 函数式接口:只有一个抽象方法的接口。
Lambda表达式:代码块作为函数的参数!
@FunctionallInterface注解:编译器进行语法检查!
12. 枚举类
1.非抽象枚举类不能派生子类。
2.枚举类的构造器只能是private(不管省略与否)
3.所有实例必须在第一行显式给出,否则不能产生实例。