1、静态导入方法
import static com.....ClassName.*; 就可以直接访问静态属性或静态方法
2、增强for循环
for(int num : list){ }
3、reflect 反射
getSimpleName() 类名
getName() 完整类名(含包名)
getSuperclass() 父类
getMethods() 自己及祖先的所有方法
getMethod("getId",classes)
getDeclaredFields() 获取字段
getConstructor() 获取构造器,constructor.newInstance()
newInstance() 调用无参构造器构造对象
isXXX,isInterface(),isPrimitive(),isArray()
4、注解 Annotation
5、泛型
泛型不是协变的,List list=new ArrayList(); 会报错
泛型的参数类型只能是类( class )类型,而不能是简单类型
6、可变参数(Vararg)
可以将可变参数视为长度可变的数组
变长参数一定要放在最后面
可变参数不能与数组参数并存