JDK7的六个新特性回顾和讲解
- 二进制字面量
System.out.println(0b1000);
- 数字字面量可以出现下划线
System.out.println(1000_0000);//1000000
- switch 语句可以用字符串
String s = "A"; switch (s) { case "A": break; case "B": break; default: break; }
- 泛型简化,菱形泛型
List<String> list = new ArrayList<String>(); List<String> list = new ArrayList<>();
- 异常的多个catch合并,每个异常用或
try{ int i = 10 / 0;//算术异常 int[] arr = null; System.out.println(arr[0]);//空指针异常 }catch (ArithmeticException | NullPointerException e) { // TODO: handle exception }
- try-with-resources 语句 //这样写不用关流
try( FileInputStream fis = new FileInputStream("a.txt"); ){ fis.read(); }
JDK1.8
接口中可以定义有方法体的方法
如果是非静态,必须用default修饰
如果是静态的就不用了
interface Animal{
//接口只能声明方法,不能实现,就是不能有方法体
//public void eat();
//jdk1.8可以有方法体
public default void eat(){
System.out.println("吃饭...");
}
public static void sleep(){
System.out.println("睡.....");
}
}
class Dog implements Animal{
}
Dog dog = new Dog();
dog.eat();
Animal.sleep();