zoukankan      html  css  js  c++  java
  • java8新特性:接口的默认方法与静态方法

    接口中一共可以定义三种方法:

      1、抽象方法,也就是需要实现者必须实现的方法,最常见的那种

      2、默认方法,不需要实现者实现

      3、静态方法,不需要实现者实现

    默认方法:

      允许在已有的接口中添加新方法,而同时又保持了与旧版本代码的兼容性,默认方法与抽象方法不同之处在于抽象方法必须要求实现,但是默认方法则没有要求实现,相反,每个接口都必须提供一个默认实现,这样所有的接口实现者将会默认继承他(如果有必要的话,可以覆盖这个默认实现)

    静态方法:

      允许在已有的接口中添加静态方法,接口的静态方法属于接口本身,不被继承,也需要提供方法的实现。

    默认方法和静态方法的访问:

      接口的静态方法:直接用接口的类型.方法名。

      接口的默认方法:得到接口的实现类对象,直接用对象的引用.方法名。默认方法可以被实现类覆盖。

    下面上实例:

    /**
     * 测试接口
     */
    public interface IFunctional {
    
        //定义一个抽象方法,要求被实现着实现
        void method(String from);
    
        //定义一个默认方法,不要求被实现
        default void defaultMethod(){
            System.out.println("接口的默认方法");
        }
    
        //定义一个静态方法,不要求被实现
        static void staticMethod(){
            System.out.println("接口静态方法的默认实现");
        }
    }
    继承类
    **
    * 测试实现类 */ public class Main implements IFunctional { @Override public void method(String from) { System.out.println("子类实现的接口抽象方法..."); } public static void main(String[] args) { Main main = new Main(); //访问接口的默认方法 main.defaultMethod(); //访问接口的静态方法:直接用接口的类型.方法名 IFunctional.staticMethod(); } }
  • 相关阅读:
    聊聊ES6中的generator
    generator-yield到底是个啥
    jquery 常用方法中那些我不知道的事
    jquery 获取textarea文本值详解
    数组去重
    五指棋人机大战之ai篇
    五指棋人机大战之ui篇
    css控制背景图像不随滚动条的滚动而滚动
    用canvas画会旋转的伞
    CSS3 实现太极图案
  • 原文地址:https://www.cnblogs.com/itiande/p/9034215.html
Copyright © 2011-2022 走看看