新手小白学JAVA_接口元素更新

接口元素更新

同学们,之前我们在学习接口时,给大家讲到接口中的元素有:
静态常量 public static final
抽象方法 public abstract m(),并且接口中的方法都是抽象方法
我们现在来更新一下这个概念:
其实,在Java8中,接口不仅仅有抽象方法,还可以定义有方法体的方法,我们称之为接口的默认方法

1 接口默认方法

1.1 默认方法演示

我们首先来看一下这个现象:比如,我们之前学习的List集合,这是一个接口
在这里插入图片描述
找到接口以后,大家再来找一个spliterator()方法
会发现:List接口中的spliterator()方法是有方法体的,并且这个方法被关键字default修饰
我们把接口里有方法体的方法称之为默认方法
在这里插入图片描述

1.2 默认方法格式

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

  1. 接口中默认方法的修饰符public是可以省略的
  2. 由于接口中的默认方法不是抽象方法,所以并不要求接口实现类一定重写
    但注意,实现类重写此方法时需要去掉default关键字

1.3 默认方法案例练习

//1.定义接口
public interface Inter1 {
    /*1.接口中默认方法的修饰符public可以省略*/
    //2.定义接口中的默认方法
    public default void play(){
        System.out.println("我是接口中的默认方法,我有方法体哦~");
    }
}
//3.定义接口对应的实现类
class Inter1Impl implements Inter1{
    /*2.接口中的默认方法并不要求实现类一定重写,但是重写时需要去掉default关键字*/
    //4.重写接口实现类中的默认方法
    @Override
    public void play(){
        System.out.println("我是接口实现类中,我重写了默认方法~");
    }
}

2 接口静态方法

2.1 静态方法格式

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

  1. 接口中默认方法的修饰符public是可以省略的,但是静态static不可以省略
  2. 接口中的静态方法只能通过接口名调用,不可以通过实现类名或者对象名调用

2.2 静态方法案例练习

package cn.cxy.exec;

//1.定义接口
public interface Inter2 {
    /*1.接口中静态方法的修饰符public可以省略,但是static不可以省略*/
    //2.定义接口中的静态方法
    public static void play(){
        System.out.println("我是接口中的静态方法,我有方法体哦~");
    }
}
//3.定义接口对应的实现类
class Inter2Impl implements Inter2{
    public static void main(String[] args) {
        /*2.接口中的静态方法只能通过接口名调用,不可以通过实现类名或者对象名调用*/
        //4.通过接口名调用接口中的静态方法
        Inter2.play();
        //Inter2Impl.play();//报错
        //new Inter2Impl().play();//报错
    }
}

PS:Java9还支持向接口中添加私有方法。

  • 10
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值