zoukankan      html  css  js  c++  java
  • 接口

    1.接口概述及生活举例

     =========================================================================================================================

    2.接口的定义基本格式和锁包含的内容

     =========================================================================================================================

    3.接口的抽象方法定义

     ================================================================================================================

    4.接口的抽象方法使用

    注意:通常实现类要后面+Impl.java

     =========================================================================================================================

    5.接口的默认方法定义(从java8开始)

    接口的实现类不改动,如何实现在接口中新添加方法,而使接口的实现类不报错呢?

    MyInterfaceDefault.java

    package cn.itcast.day10.demo01;

    /*
    从Java 8开始,接口里允许定义默认方法。
    格式:
    public default 返回值类型 方法名称(参数列表) {
    方法体
    }

    备注:接口当中的默认方法,可以解决接口升级的问题。
    */
    public interface MyInterfaceDefault {

    // 抽象方法
    public abstract void methodAbs();

    // 新添加了一个抽象方法
    // public abstract void methodAbs2();

    // 新添加的方法,改成默认方法
    public default void methodDefault() {
    System.out.println("这是新添加的默认方法");
    }

    }

    -------------------------------------------------------------------------------------------------------------------------------------------------------------

    MyInterfaceDefaultA.java

    package cn.itcast.day10.demo01;

    public class MyInterfaceDefaultA implements MyInterfaceDefault {
    @Override
    public void methodAbs() {
    System.out.println("实现了抽象方法,AAA");
    }
    }

    -------------------------------------------------------------------------------------------------------------------------------------------------------------

    MyInterfaceDefaultB.java

    package cn.itcast.day10.demo01;

    public class MyInterfaceDefaultB implements MyInterfaceDefault {
    @Override
    public void methodAbs() {
    System.out.println("实现了抽象方法,BBB");
    }

    @Override
    public void methodDefault() {
    System.out.println("实现类B覆盖重写了接口的默认方法");
    }
    }

    --------------------------------------------------------------------------------------------------------------------------------------------------------

    Demo02Interface.java

    package cn.itcast.day10.demo01;

    /*
    1. 接口的默认方法,可以通过接口实现类对象,直接调用。
    2. 接口的默认方法,也可以被接口实现类进行覆盖重写。
    */
    public class Demo02Interface {

    public static void main(String[] args) {
    // 创建了实现类对象
    MyInterfaceDefaultA a = new MyInterfaceDefaultA();
    a.methodAbs(); // 调用抽象方法,实际运行的是右侧实现类。

    // 调用默认方法,如果实现类当中没有,会向上找接口
    a.methodDefault(); // 这是新添加的默认方法
    System.out.println("==========");

    MyInterfaceDefaultB b = new MyInterfaceDefaultB();
    b.methodAbs();
    b.methodDefault(); // 实现类B覆盖重写了接口的默认方法
    }

    }

    ===========================================================================================================

    6.接口的静态方法

     

     =========================================================================================================================

    7.接口的私有方法(注意:从java9开始)

     

     ===========================================================================================================================

    8.接口的常量定义和使用

     

     ===========================================================================================================

    9.接口内容小结(java9+版本)

     ===================================================================================================================

    10.继承父类并实现多个接口

     =========================================================================================================================

    11.接口之间的多继承(类与接口之间的多种关系)

  • 相关阅读:
    MVC ORM 架构
    Kubernetes 第八章 Pod 控制器
    Kubernetes 第七章 Configure Liveness and Readiness Probes
    Kubernetes 第六章 pod 资源对象
    Kubernetes 第五章 YAML
    Kubernetes 核心组件
    Kubernetes 架构原理
    Kubernetes 第四章 kubectl
    Kubernetes 第三章 kubeadm
    yum 配置及yum 源配置
  • 原文地址:https://www.cnblogs.com/curedfisher/p/12391022.html
Copyright © 2011-2022 走看看