模板方法模式:
举例:
接口:
内部默认public,因为要让别人使用
用法:
通过实现类实现 implements接口,可以多实现
接口与接口的关系:
一个接口可以同时继承多个接口
多态:
举例:
优劣势:
多态下引用数据类型的类型转换:
通过类型转换可以在多态下调用子类独有功能
使用instanceof判断是否为要强转的类型
内部类:
匿名内部类:
例子:
使用形式:
看着像是接口定义对象,其实是匿名内部类的写法;
常用API:
Object:
tostring方法:默认打印对象地址,但是一般子类都要将其重写,打出对象内容,可以通过idea快捷键tos自动填写
Equals方法:默认比较两个对象地址是否一样,一般也需要重写,自定义比较规则。可以通过idea的equ快捷键自动填写
Objects:其equals比较就是比较结果,不比较地址,而且更加安全,直接用String可能会出现空指针异常
Stringbuilder:
可变字符串类,可以直接append,支持链式编程,比如连续append
也支持反转reverse
最终还要运用tostring变成String类型,stringbuilder相当于工具
Math类:
包含数字运算方法,可以直接通过math类调用,随机数只能生成0-1的随机小数
System(了解即可):
Bigdecimal(了解即可):
解决浮点型运算精度失真问题
正则表达式:
Arrays类:
数组操作工具类,操作数组元素
左边大于右边返回正数这种为升序类型
自定义比较规则例子:
比较小数可以用Double.compare api
集合:
只能存储引用对象类型
Collection:一个元素存储一个值,相当于一个接口
集合支持泛型:
Collection常用api:
Collection的遍历:
迭代器iterator(集合类的遍历用法):
用法实例:
增强for循环:
使用实例:对象名.for即可
List集合特有方法:
Arraylist:基于数组实现,查询快,首尾操作慢
Linkedlist:基于双链表实现,查询慢,首尾操作快
遍历删除:
1.迭代器遍历删除:
2.for遍历删除