JDK8和JDK9中接口新特性及代码块介绍

本文介绍了JDK8中引入的接口默认方法和静态方法,以及JDK9的接口私有方法,同时讨论了Java中的代码块,包括局部代码块、构造代码块和静态代码块的作用和使用场景。
摘要由CSDN通过智能技术生成

JDK8中的新特性

主要解决问题: 在升级接口时为了避免实现接口的子类要全部重写新的抽象方法,允许在接口类中写默认方法和静态方法。

特点: 

        不强制重写,static还可以直接类名调用

        如果实现多个接口,要指明类目调用 如

该类实现两个接口都有method方法

InterA.super.method();
InterB.super.method();

直接super.method()是调用Object类中的method方法,但Object类里没有method方法

格式如下:

public default 返回值类型 方法名(参数列表) {}

public static 返回值类型 方法名(参数列表) {}

JDK9的接口新特性

可定义私有方法,作用是将接口中默认方法重复的代码放入私有方法中减少代码冗余且外部也不能方法该私有方法。

interface Inter {    
    public default void start(){
       System.out.println("start方法执行..."); 	
        log(); 
    }
    public default void end(){
        System.out.println("end方法执行...");        
        log();    
    }
    
    public default void log() {
        System.out.println("日志记录");   
    }
}

代码块

在Java类下,使用 { } 括起来的代码被称为代码块

局部代码块

        位置:方法中定义        

        作用:限定变量的生命周期,及早释放,提高内存利用率(少用)

构造代码块

        位置:类中方法外定义

        特点:每次构造方法执行的时,都会执行该代码块中的代码,并且在构造方法执行前执行

        作用:将多个构造方法中相同的代码,抽取到构造代码块中,提高代码的复用性(少用)

静态代码块

        位置:类中方法外定义

        特点:需要通过static关键字修饰,随着类的加载而加载,并且只执行一次 作用:在类加载的时候做一些数据初始化的操作(常用)

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值