zoukankan      html  css  js  c++  java
  • 接口的默认方法

    package day13;

    public class defultmain {
    public static void main(String[] args) {
    my m=new my();
    m.methodA();
    m.methodB();
    System.out.println("===========");
    myB mb=new myB();
    mb.methodA();
    mb.methodB();
    }

    }
    package day13;
    /*在任何接口中都可以定义抽象方法;
    格式:
    public abstract 返回值类型 方法名称(参数列表);
    注意:
    public abstract 为固定格式,可以省略;
    接口不能直接使用,要有一个实现类来实现接口(实现类类似于继承的子类)。
    实现类的格式:
    public class 实现名称 implements 接口{
    }
    实现类必须覆盖重写接口的所有抽象方法;
    */
    //接口的默认方法可以通过实现类的方法直接调用。
    //接口的默认方法也可以被实现类的方法覆盖重重写。
    /*接口的默认方法的格式:
    public default 返回值类型 方法名称(参数列表){}
    作用:实现接口升级后,无需对实现类进行改变,但实现类可以直接调用升级后的方法;
    */
    public interface myinterface {
    public abstract void methodA();
    public default void methodB(){
    System.out.println("默认方法实现了!");
    }

    }
    package day13;

    public class my implements myinterface {
    @Override
    public void methodA()
    {
    System.out.println("接口类中的抽象方法实现!");
    }
    @Override
    public void methodB()
    {
    System.out.println("接口中默认方法重写实现");
    }
    }
    package day13;

    public class myB implements myinterface{
    @Override
    public void methodA()
    {
    System.out.println("接口类中的抽象方法实现!");
    }
    }
  • 相关阅读:
    《构建之法》阅读报告
    教务管理系统类图及数据库E/R图
    设计模式:抽象工厂
    结对项目:四则运算程序测试
    Leetcode笔记之57和为s的连续正数序列
    Leetcode笔记之1103分糖果 II
    Leetcode笔记之199二叉树的右视图
    每日Scrum(9)
    每日Scrum(7)
    每日Scrum(6)
  • 原文地址:https://www.cnblogs.com/huaobin/p/13457410.html
Copyright © 2011-2022 走看看