编译期处理:语法糖(即java编译器把。java的源码编译成。class字节码的过程中,自动生成和转换的一些代码,主要是为了减轻程序员的负担,算是java编译器给我们的一个额外福利-给糖吃)
- 默认构造器:调用父类Object的无参构造方法
- 自动拆装箱:基本类型和包装类型之间的来回转换(jdk5以后)
- 泛型集合取值:泛型也是在jdk5开始加入的特性,但java在编译泛型代码后会执行泛型擦除的动作,即泛型信息在编译为字节码后就丢失了,实际的类型都当作了Object类型处理(擦除的是字节码上的泛型信息,可以看到LocalVariableTyoeTable仍然保留了方法参数泛型信息)。
- 可变参数:java编译器在编译期间根据赋值语句将可变参数编译为固定参数。
foreach循环:能够配合数组,以及所有实现了Iterable接口的集合类一起使用,其中Iterable用来获取集合迭代器(Iterator)
switch字符串:从jdk7开始,switch可以作用于字符串和枚举类
switch枚举:
枚举类
try-with-resources:
- 方法重写时的桥接方法:
- 父子类返回值一致
- 子类返回值可以是父类返回值的子类
匿名内部类: