zoukankan      html  css  js  c++  java
  • interface中定义default方法和static方法

    interface的default方法和static方法

    • 接口中可以定义static方法,可通过接口名称.方法名()调用,实现类不能继承static方法;
    • 接口中可以定义default方法,default修饰的方法有方法体,表示这个方法的默认实现,子类可以直接调用,可以选择重写或者不重写;
    • 当实现类实现的多个接口中,有方法签名相同的default方法时,必须重写该方法;

      接口一:

    package com.skd.interfacemethod;
    
    /**
     * @Description
     * @Author virgosnail
     * @Date 2018/12/12
     */
    
    public interface Human {
    
        /**
         * 必须被重写
         */
        void oldMethod();
    
        /**
         * 实现类可以选择重写,也可以不重写
         */
        default void hi(){
            System.out.println("interface default method");
        }
    
        /**
         * 不能被实现类重写
         */
        static void hello(){
            System.out.println("interface static method");
        }
    }

      接口二:

    package com.skd.interfacemethod;
    
    /**
     * @Description
     * @Author virgosnail
     * @Date 2018/12/12 20:59
     */
    
    public interface Humen {
    
        default void hi(String aa){
            System.out.println("interface default method");
        }
    }

      实现类:

    package com.skd.interfacemethod;
    
    /**
     * @Description
     * @Author virgosnail
     * @Date 2018/12/12
     */
    
    public class Person implements Human,Humen {
    
        @Override
        public void oldMethod() {
    
        }
    
        /**
         * 实现的多个接口中有方法签名相同的default 方法时,实现类必须重写该方法
         */
        @Override
        public void hi() {
    
        }
        /**
         * 实现类不能继承接口的static 方法
         */
    }

      测试类:

    package com.skd.interfacemethod;
    
    /**
     * @Description
     * @Author virgosnail
     * @Date 2018/12/12
     */
    
    public class Test {
        public static void main(String[] args) {
            // interface 的 default 方法通过实现类的实例对象调用
            new Person().hi();
            // interface 的 static 方法通过 接口名称.方法名称直接调用
            Human.hello();
    
        }
    }
  • 相关阅读:
    mysql--表数据的操作
    mysql--增删改查
    mysql--约束条件
    Mysql--基本配置
    Mysql--数据表
    Mysql--数据库的操作
    位运算的应用
    读书笔记--模板与泛型编程
    读书笔记六
    读书笔记五
  • 原文地址:https://www.cnblogs.com/virgosnail/p/10111075.html
Copyright © 2011-2022 走看看