Java8改进的接口

今天复习了一下,搞得真是焦头烂额!于是鼓起勇气,总结一下,以备日后使用。

接口:是一种公共的行为规范,这些行为是与外部交流的通道。


最主要还是要记住,接口里有什么,怎么用?

首先Java 8 中定义接口是这样的:

一、

【修饰符】 interface 接口名  extends 父接口1,父接口2。。。

{

         零个到多个常量(静态常量)的定义:这种常量默认被public static final修饰

         零个到多个抽象方法定义:自动被public abstract修饰,不管声明方法的时候是否声明

         零个到多个内部类接口枚举定义:默认都采用public static修饰

         零个到多个默认方法类方法定义:默认都采用public 修饰

}

以下是关于一个接口的定义。

public interface Output{
    int Max_Size - 50;//接口中定义的变量只能是常量
    
    void out();//接口里定义的方法,只能是public抽象方法。
    
    void getData(String mag);
    
    //接口中定义的默认方法,需要使用default修饰
    default void print(String... msgs){
        for(String msg : msgs)
            System.out.println(msg);
    }
    
    //接口中定义类方法,需要使用static修饰
    static String staticTest(){
        return "接口中的类方法";
    }
}

Java 8 允许在接口中定义默认方法,默认方法必须使用default修饰,该方法不能使用static修饰,无论程序是否指定,默认方法总是使用public修饰(无论开发者是否指定,如果没有指定,系统会自动添加),由于默认方法并没有static修饰,因此不能直接使用接口来调用默认方法。

其中,接口中的成员变量默认是使用public static final修饰的。

注意:如果一个Java源文件里定义了一个public接口,则该源文件的主文件名必须与该接口名相同。


二、

接口的继承

接口支持多继承,也就是说一个接口可以有多个父接口,但是必须是接口,不能是类。


接口不能用于创建实例,但是接口可以用于声明引用类型变量,当使用接口来声明引用类型变量时,这个引用类型变量必须引用到其实现类的对象。

一个类可以实现一个或者多个接口,并且可以继承一个类。但是implements部分必须放在extends部分之后。实现接口方法时,必须使用public访问控制修饰符。因为子类在重写父类方法时,访问权限只能更大或者相等,所以实现类实现接口里的方法,只能用public访问权限。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想做个自由的人

随缘吧打赏与否还是会坚持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值