zoukankan      html  css  js  c++  java
  • JDK1.8 —— 接口定义增强

    使用default和static定义接口方法

    JDK1.8(jre8)以后,接口中不在仅仅只允许定义抽象方法,开始允许定义普通方法了;而普通方法需要用default声明。

    interface IMessage {
        public void print(); // 一个接口定义的抽象方法
        default void fun() {// 接口中定义的普通方法
            //
            System.out.println("Hello,World!") ;
        }
    }
    class MessageImpl implements IMessage {
        public void print() {
            System.out.println("Hello,World!") ;
        }
    }
    public class TestDemo {
        public static void main(String [] args) {
            IMessage msg = new MessageImpl() ;
            msg.fun() ;// 直接调用在接口类中定义的方法
        }
    }

    上例代码中,使用defautl定义方法,defautl定义的方法是接口中的普通方法,可以被外部类通过接口类直接调用使用该普通方法。

    interface IMessage {
        public void print(); // 一个接口定义的抽象方法
        default void fun() {// 接口中定义的普通方法
            //
            System.out.println("Hello,World!") ;
        }
        static void get() {
            System.out.println("Hello,Woeld!") ;
        }
    }
    class MessageImpl implements IMessage {
        public void print() {
            System.out.println("Hello,World!") ;
        }
    }
    public class TestDemo {
        public static void main(String [] args) {
            IMessage msg = new MessageImpl() ;
            msg.fun() ;// 直接调用在接口类中定义的方法
        }
    }

    上例代码使用static方法定义,由此可以直接通过类调用方法,则不在实例化接口则可以调用。

    ~~~~~~~~

     ###

    总结:

       接口中default或static方法定义是为了避免子类重复的实现同样的代码

      接口的使用还应以使用抽象方法为主

  • 相关阅读:
    pip 最新版 发布(Python包安装和管理工具)
    Python使用cookie 免密登录了解一下
    夯实根基,必知必会的 Python 基础知识
    10个关于文件操作的小功能,都很实用~
    总结一些网站加密和混淆技术
    接口加密如何测试?
    艰难的这年,程序员的未来在哪里?
    警惕“职场PUA”!
    Python面试题及答案汇总
    Python实例练手项目汇总(附源码)
  • 原文地址:https://www.cnblogs.com/wangyuyang1016/p/10924573.html
Copyright © 2011-2022 走看看