★匿名内部类:
1.可以是任何类,也可以是接口;
2.匿名内部类就是让实现他的类或者是子类继承重写其方法的一个 匿名的对象;
3.可以是多态(多态多态,搞人心态);
4.可以很方便的重写和调用父类或者是将要实现的抽象类的方法 (感觉效率贼高)。
★Lambda表达式:
1.当调用的方法里有抽象类或接口类,可在该方法的传入参数里无脑先写上()->{ } 这个 ,要不然先new对象也可,回车直接就提示出来了;
2.最简化的Lambda表达式要求是接口有且只有一个抽象方法;
3.关于最简化的表达式:
①.传入的参数:有且只有一个参数的时候()可以省略,数据类型也可以省略,但不建议;
②.代码只有一条的时候,返回值类型return 以及{} 和里边的分号都可以省略,但不建议。—影响以后读取代码,自己写的代码然后忘了这不8BQ了…
★API帮助文档:
1.Math:
绝对值.abs() 向上取整.ceil() 向下取整.floor() 四舍五入.round() 最大最小值(两个int).max(int a, int b),.min(int a, int b) 求a的b次幂.pow(a,b) 随机0-1小数.random();
2.System:
中止程序.exit(int a) 注意是否为0 获取时间戳.currentTimeMillis() 毫秒值long类型接收,注意是1970年01月01日 00时00分00秒000毫秒,这是格林威治时间,我们是东八区,要加8小时 拷贝数组.arraycopy(原来的数组,开始索引,拷贝到目的数组,开始索引,长度(个数));
3.Object: .toString() .equals()用来重写的改变默认的格式或者返回语句或者判断语句;
4.Objects: 工具类,没卵用 .toString() .isNull() .nonNull() 。
★BigDecimal:
1.用来精确计算 要用双引号""控制一下
2.加减乘:①.add(BigDecimal) ②.subtract(BigDecimal)③.multiply(BigDecimal)
3.除:divide(运算的对象,精确的位数,模式) 除不尽就需要指定保留几位
①.运算的对象就是BigDecimal类型的对象
②.精确的位数是int类型,小数点后的个数
③.模式:POUND_ UP/FLOOR/HALF_UP 分别是 进一/去尾/四舍五入