JavaSE 05
1. 内部类相关
普通内部类
静态内部类
局部内部类匿名内部类
内部类总共三大种,最常用的是匿名内部类。
2. try/catch finally
情况一:在不包含return语句的情况,执行顺序如下
情况二:在包含return的情况,如下
- 不管在哪个块遇到return时,会立马计算出return的实际值(常量,不会再被其他块语句影响),并逻辑走完所有语句块后,再return这个常量。
eg:
// 最后结果是1
public int test() {
int a = 1;
try {
return a; //这里会计算a的值,再等trycatchfinally中所有逻辑代码走完之后,进行返回
} catch (Exception e) {
} finally {
a += 1;
}
return 0;
}
- 遇到多个return时,后面的return会覆盖前面的return。
eg:
// 返回结果是101
public int test() {
int a = 1;
try {
throw new RuntimeException();
} catch (Exception e) {
return a; //执行到这时候,依然会计算a的值,但是会被finally中的return覆盖
} finally {
a += 100;
return a; //计算a的值101,覆盖上面的return并返回
}
}
最后参考
3. Thread相关
Thread中有个枚举属性State
六个枚举实例说明:JVM中的线程只有上面这六种状态
各个状态转换之间的关系如下