首页 > 编程语言 > 详细

记 Java 各版本新特性

时间:2019-05-12 01:19:38      阅读:143      评论:0      收藏:0      [点我收藏+]

Java 8 —— 下面主要讲9个特性:

Lambda 表达式(也可以称为“闭包”)

(paramList) -> expression;
或者
(paramList) -> {statments;}

特征:

  • 参数类型声明可选:编译器可识别参数值
  • 只有一个表达式,那么表达式的值作为 Lambda 的返回值;用大括号 {} 括起来的,多个表达式,需要使用 return 关键字指明返回值
  • Lambda 中不能声明和任何局部变量同名的,参数或者局部变量

演示用例:

public interface MathOperation {

    int operation(int a, int b);
    
}
public class Tester {

    public static void main(String[] args) {
        MathOperation add = (int a, int b) -> a + b;    //参数列表、表达式返回值相同即可;方法实现甚至可以没有:Lambda表达式相当于一个方法类,作为接口的实现
        System.out.println(add.operation(1, 2));
    }

}

接口默认方法

public interface vehicle {
    default void print(){
        System.out.println("我是一辆车!");
    }
}
public interface Vehicle {
    default void print(){
        System.out.println("Vehicle");
    }
}

public interface FourWheeler {
    default void print() {
        System.out.println("FourWheeler");
    }
}

技术分享图片

public class Car implements FourWheeler, Vehicle {
    @Override
    public void print() {
        System.out.println("Car");
    }
}
public class Car implements FourWheeler, Vehicle {
    @Override
    public void print() {
        FourWheeler.super.print();    //这里实际上就是普通的调用了接口提供的实现,重载本身没做任何事(当然实际情况下,除了选择接口的实现,往往还会做更多与类自身相关的)
    }
}

静态默认方法(接口也可以像类一样,有静态方法):

public interface Vehicle {
    static void blowHorn() {
        System.out.println("blow horn");  //就像类的静态方法一样:Vechile.blowHorn();
    }
}

 

Java 7:

Java 6:

记 Java 各版本新特性

原文:https://www.cnblogs.com/quanxi/p/7512499.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!