zoukankan      html  css  js  c++  java
  • Java中接口的新特性,为接口添加静态方法和默认方法

     关于接口的新特性,可以为接口添加静态方法和默认方法

    /**
     * 在Jdk8中关于接口的新特性,可以为接口添加静态方法和默认方法
     */
    public class interfaceTest2 {
        public static void main(String[] args) {
    Subclass s
    = new Subclass();
    //知识点1:接口中定义的【静态方法】只能通过接口来调用 //s.method1();//无法调用 CompareA.method1();//可以调用 //知识点2:通过实现类的对象,可以调用接口中的默认方法 //如果实现类重写了接口中的默认方法,调用时,执行的是重新后的方法 s.method2();

    //知识点3:如果子类(实现类)继承的父类,和实现的接口中声明了同名同参数的方法, //那么,子类在没有重写次方法情况下,默认调用的是父类中的同名同参数方法--->类优先原则 s.method3();

    //知识点4:如果实现类实现了多个接口,而这多个接口中定义了同名同参数的默认方法, //那么在实现类没有重写次方法的情况下,报错-------->接口冲突 //这就需要我们在实现类中重写此方法,重写后自然调用的是实现类重写后的方法 } } interface CompareA { //静态方法 public static void method1(){ System.out.println("CompareA: 北京"); } //默认方法 public default void method2(){ System.out.println("CompareA: 上海"); } default void method3(){ System.out.println("CompareA: 杭州"); } } class Subclass extends Superclass implements CompareA{ @Override public void method2(){ System.out.println("Subclass: 上海"); } } class Superclass { public void method3(){ System.out.println("Superclass:杭州"); } }

    接口新特性的应用

    public class InterfaceTest3 {
        public static void main(String[] args) {
            Man man = new Man();
            man.help();
        }
    }
    interface Filial { //孝顺的
        default void help(){
            System.out.println("老妈。我来救你了");
        }
    }
    
    interface Spoony { //痴情的
        default void help(){
            System.out.println("媳妇。我来救你了");
        }
    }
    class Father{
        public  void help(){
            System.out.println("儿子。救我媳妇");
        }
    }
    class Man extends Father implements Filial,Spoony{
        @Override
        public void help() {
            System.out.println("我该救谁呢");
            super.help();
            //调用接口中声明的同名同参数的方法
            Spoony.super.help();
            Filial.super.help();  
        }
    }
  • 相关阅读:
    sql server实现主从复制
    sql server 常用语法
    超像素、语义分割、实例分割、全景分割 傻傻分不清?
    什么是多模态机器学习?
    SLAM领域牛人、牛实验室、牛研究成果梳理
    从零开始一起学习SLAM | 给点云加个滤网
    原来CNN是这样提取图像特征的。。。
    从零开始一起学习SLAM | 你好,点云
    2019年度【计算机视觉&机器学习&人工智能】国际重要会议汇总
    从零开始一起学习SLAM | 神奇的单应矩阵
  • 原文地址:https://www.cnblogs.com/king2/p/14613388.html
Copyright © 2011-2022 走看看