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(); } }
  • 相关阅读:
    14.从m个球中取出n个球的所有组合情况
    13.输入一个数,求1! + 3!
    centos LVM详解
    git的团队协作开发
    centos-yum离线源
    检测 HTML5CSS3JAVASCRIPT 在浏览器的适应情况
    J2EE 中 The function valueOf must be used with a prefix when a default namespace is not specified 错误
    HTML
    App签名--- Android
    ToggleButton --------- 按钮实现开关效果
  • 原文地址:https://www.cnblogs.com/itiande/p/9034215.html
Copyright © 2011-2022 走看看