接口的组成与更新

本文介绍了Java接口从JDK8开始引入的新特性,包括默认方法、静态方法和私有方法。默认方法允许接口定义带有实现的非抽象方法,静态方法可通过接口直接调用,而私有方法则为接口内部共享代码提供便利。通过示例代码展示了如何在接口和实现类中使用这些方法,并进行了测试。
摘要由CSDN通过智能技术生成

之前学习的接口中只有抽象方法,但是随着JDK版本的更新,接口已经变得不像之前这么单纯了,它也开始出现带有方法体的方法了——默认方法、静态方法、私有方法

一,以前的接口组成

1、常量:用public static final修饰,但是可以省略

2、抽象方法:public abstract修饰,可以省略

二、接口中的默认方法

java8后接口有了默认方法(default修饰)

格式:public default 返回值类型 方法名(){}
默认方法不是抽象方法,所以不会强制重写,但是可以重写,重写时要去掉default关键字
public可以省略

三、接口中的静态方法

java8后接口有了静态方法

格式:跟普通类定义静态方法一样
接口中的静态方法只能通过接口名调用,不能通过实现类名或者对象名调用,所以也无法重写

四、接口中的私有方法

java9后又有了私有方法

由于接口中的方法可以有方法体了,为了当几个方法用到相同的代码时方便,就有了接口中的私有方法
接口中的私有方法只在这个接口中使用
今天的私有方法所有带方法体的方法都可以使用,但是普通的私有方法接口中的静态方法不能调用

然后因为我用的是JDK8所以没法练习接口中的私有方法了

IInter接口,接口中有一个默认方法,一个静态方法,一个抽象方法

public interface IInter {
    static void stc(){
        System.out.println("静态方法");
    }

    default void dft(){
        System.out.println("默认方法");
    }

    void show();
}

Inter类,IInter类的实现类,重写了其中的默认方法和抽象方法

public class Inter implements IInter{
    @Override
    public void show() {
        System.out.println("抽象方法");
    }
//    默认方法不强制重写但也可以重写
    @Override
    public void dft() {
        System.out.println("重写默认方法");
    }
}

测试类,调用各种方法测试结果

public class Test {
    public static void main(String[] args) {
        IInter ii=new Inter();
        ii.show();
        ii.dft();
//        ii.stc();//错误,接口中的静态方法只能用接口名调用
        IInter.stc();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值