码迷,mamicode.com
首页 > 编程语言 > 详细

记 Java 各版本新特性

时间:2019-05-12 01:33:42      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:nts   operation   png   静态   dash   ESS   默认方法   情况   rri   

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 各版本新特性

标签:nts   operation   png   静态   dash   ESS   默认方法   情况   rri   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!