1. 接口中支持默认方法实现。必须以default来标记。
2. lambda表达式就是一个代码块,它里面捕获的变量,在变量初始化后就不能再变化。因为考虑并行情况时,并行的基础之一就是引用变量的最终性。
3. lambda表达式的重点是延迟执行。
4. 对于只有一个抽象方法的接口,需要这种接口对象时,就可以提供一个lambda表达式,这种接口称为函数式接口。
5. 内部类可以访问外部类的成员,编译时会把外部类当做内部类的一个引用,在内部类的构造函数里传递进去。而由于无法确定内部类何时执行和调用外部类变量,所以能被内部类访问的一定是final变量,因为final是不会变的,编译时直接将变量的值拷贝至内部类中,另外如果编译时无法确定变量的值,则将该变量直接加到内部类的构造函数中。
6. 异常处理的目标:
7. Throwable分为Error和Exception。
8. 一个方法必须声明所有可能抛出的受查异常,而非受查异常要么不可控制(Error),要么就程序就可以避免其发生(RuntimeException)。
9. e.initCause(e)和e.getCause()两个方法可以用来转换异常类型且不丢失异常信息。
10. 使用异常机制的原则:
参考:https://www.cnblogs.com/dolphin0520/p/3811445.html
原文:https://www.cnblogs.com/qt2136/p/12517295.html