java 1.8新特性

本文介绍了Java 8的一些重要新特性,包括default关键字、静态方法与默认方法、Lambda表达式及其适用场合、函数式接口、方法与构造器引用。Lambda简化了匿名内部类的书写,适用于函数式接口。此外,还提到了Java 8中的时间日期API和其他小更新。
摘要由CSDN通过智能技术生成

前一阵子面试的时候突然被问到java1.8版本的新特性。虽然新特性可能不是很常用,但是了解还是很有必要的。如果你想写含有新特性的程序,那么首先最好更新一下你的IDE,10.9之前的MyEclipse已经不是很好用了,这里有MyEclipse2017破解版可供下载。

default 关键字

Java 8支持为接口添加非抽象的方法实现,只要使用 default关键字即可。很经典的一个问题就是:java接口中能不能有非抽象方法?,这个问题主要考你的基本功,一般笔试时要答:不能。但是面试的时候说出:Java 8新添加了default关键字支持非抽象方法,肯定会为你加分。

package CharactJava8;

public interface FunctionInter {

    default public void syso(){
        System.out.println("Hello World!");
    }
}
package CharactJava8;

public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        FunctionInter fi =  new FunctionInter() {};

        fi.syso();

    }

}
main方法中输出:Hello World! 。 default修饰的方法可以在实现类中被重写或者直接使用。需要注意的是:**接口不能用default方法提供对Object类的任何方法的默认实现。**特别是,这意味着从接口里不能提供对equals,hashCode或toString的默认实现。有这种限定的一个原因是:如果在接口中对Object类方法默认实现,会使得编辑器更难以判断什么时候该调用默认的方法什么时候调用Object中的方法。

静态方法与默认方法

与此同时,在java1.8中也可以定义静态方法。在之前的JDK版本中是不支持的,正如Collection类的所有静态方法都存放在Collections中一样,我们习惯使用类名+s来表示静态方法类。以后对于这些静态方法我们可以处理的更简单。

Lambda 表达式

Lambda是第十一个希腊字母λ的发音,在c语言中早就有了这种用来简化代

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值