JDK8主要新特性介绍(一)

1、语言新特性
1.1接口新增默认方法与静态方法

1.1.1  Interface Default Method:For creating a default method in java interface, we need to use “default” keyword with the method signature. For example:

package com.java8.defaultmethod;

public interface Interface1 {

	void method1(String str);
	//a default method
	default void log(String str){
		System.out.println("I1 logging::"+str);
	}
}

Notes:类继承多个Interface接口同名方法(如show())时,必须在子类中@Override重写父类show()方法。

1.1.2 Interface Static Method:interface static method is similar to default method except that we can’t override them in the implementation classes.for example:

package com.java8.staticmethod;
public interface MyData {
        static boolean isNull(String str) {
	 System.out.println("Interface Null Check");
	 return str == null ? true : "".equals(str) ? true : false;
        }
}

1.1.2.1 Functional Interfaces:含有一个显式声明函数(抽象方法)的接口称为函数接口,注释@FunctionalInterface用作检查代码块,包package java.util.function,通常使用lambda expressions来实体化函数接口,for example:

特性说明:

    1,函数式接口仅仅只有一个方法(非默认或静态方法),用于显示转换成ladbma表达式。

    2, java.lang.Runnable接口 java.util.concurrent.Callable接口是两个最典型的函数式接口。

    3.如果一个函数式接口添加一个普通方法,就变成了非函数式接口(一般定义的接口)。

              4.Jdk8 规范里添加了注解@FunctionalInterface来限制函数式接口不能修改为普通的接口.

  新增了四个重要的函数式接口:函数形接口 、供给形接口消费型接口、判断型接口

         

 

1.2 新增Lambda表达式

 1.2.1 Lambda表达式(基于函数的匿名表达式)

  

  语法:( object str,....)[参数列表]   ->[箭头符号]     代码块或表达式

  特性:Lambda 的类型是从使用 Lambda 的上下文推断出来的。上下文中 Lambda 表达式需要的类型称为目标类型(一个 Lambda表达式所在的类的类型。并且必须存在一个目标类型);  匿名、函数、传递、简洁。

1.3 新增方法引用

1)构造器引用

            

2)静态方法引用

              

3)(任意对象)的方法引用

                

4)实例对象的方法引用

           

5)数组引用

          

1.4 重复注解

       Java 5引入了注解机制,这一特性就变得非常流行并且广为使用。然而,使用注解的一个限制是相同的注解在同一位置只能声明一次,不能声明多次。Java 8打破了这条规则,引入了重复注解机制,这样相同的注解可以在同一地方声明多次。重复注解机制本身必须用@Repeatable注解.

             

1.5 扩展注解的支持

      jdk 8扩展了注解的上下文。现在几乎可以为任何东西添加注解:局部变量、泛型类、父类与接口的实现,就连方法的异常也能添加注解。

             

 

PS:分析的代码见‘https://www.journaldev.com/592/java-try-with-resources

  • 20
    点赞
  • 136
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值