新特性你知道多少?
Java 8
Java 8 中主要的新特性有4个。
Lambda 表达式
Lambda 表达式允许将函数作为一个方法的参数,即把函数作为参数传递进方法中。
示例如下:
public class Lambda {
public static void main(String[] args) {
// 类型声明
MathOperation addition = (int a, int b) -> a + b;
// 不用声明类型
MathOperation subtraction = (a, b) -> 0;
// 大括号中的返回语句
MathOperation multiplication = (int a, int b) -> { return a * b; };
// 没有大括号及返回语句
MathOperation division = (int a, int b) -> a / b;
Lambda lambda = new Lambda();
System.out.println(lambda.operate(1,2,addition));
}
interface MathOperation {
int operation(int a, int b);
}
interface GrecetingService {
void sayMessage(String message);
}
private int operate(int a, int b, MathOperation mathOperation) {
return mathOperation.operation(a, b);
}
}
接口增加默认方法等
在 Java 8 以前,接口中只能有常量和抽象方法,不能含有方法的实现。但是在 Java 8 中,我们可以对接口添加默认实现,还可以实现静态方法。
示例:
public class InterfaceDefault {
public static void main(String[] args) {
}
class LogOracle implements logging {
}
interface logging {
String ORACLE = "Oracle_Database";
String MYSQL = "Mysql_Database";
default void logInfo(String message) {
getConnection();
System.out.println("Log Message : " + "INFO");
closeConnection();
}
static void getConnection() {
System.out.println("Open Database connection");
}
static void closeConnection() {
System.out.println("Clos