泛型补充
结合前面分析,为啥第一块代码报错,第二块代码正确?
//报错
public static void xx(List<? extends Number> list) {
list.add(1);
}
//正确
public static void xx(List<? super Number> list) {
list.add(1);
}
提示:同样都经历类型擦除,<? extends Number>丧失了写的能力,而<? super Number>有一定写的能力
父子线程的执行
main方法是一个主线程,在main方法执行中new出来了派生线程。派生线程独立于主线程执行,主线程执行完成后等待派生线程完成后才结束执行