zoukankan      html  css  js  c++  java
  • java8新特性

    1、接口中的默认方法

    若一个接口中定义了一个默认方法,而另一个父类或者接口中又定义了一个同名的方法时:

    1)选择父类中的方法。如果一个父类提供了默认的具体的实现,那么接口中具有相同名称和参数的默认方法会被忽略

    public class MyClass {
    
        public String getName(){
            return "呵呵呵...";
        }
    }
    
    public interface MyFun {
    
        default String getName(){
            return "hahahahah";
        }
    }
    
    public class MySubClass extends MyClass implements MyFun {
    
        public static void main(String[] args) {
            MySubClass msc = new MySubClass();
            System.out.println(msc.getName());
        }
    }

    执行结果:

    clipboard

    2)接口冲突。如果一个父接口提供一个默认方法,而另一个接口也提供了一个具有相同名称和参数列表的方法(不管这个方法是不是默认方法),那么必须覆盖该方法来解决冲突

    public interface MyFun {
    
        default String getName(){
            return "hahahahah";
        }
    }
    
    public interface MyInterface {
    
        default String getName(){
            return "嘿嘿嘿......";
        }
    }
    
    public class MySubInterface implements MyFun,MyInterface {
        @Override
        public String getName() {
            return MyFun.super.getName();
        }
    }

    2、接口中的静态方法

    java8接口中可以使用静态方法…….

    public class MySubInterface implements MyFun,MyInterface {
        @Override
        public String getName() {
            return MyFun.super.getName();
        }
    
        public static void  show(){
            System.out.println("额 i m hungry!!!");
        }
    
        public static void main(String[] args) {
            MySubInterface.show();
        }
    }

    clipboard

    
    
  • 相关阅读:
    Juniper路由器
    Juniper交换机维护
    [转载]让你瞬间开悟的图片
    [转载]生命科学-人体生物磁场及特异作用
    NAS与SAN有什么区别?
    使用串口终端安装AIX操作系统
    xml与java代码相互装换的工具类
    mybatis思维导图(二)
    mybatis思维导图(一)
    Spring思维导图(AOP篇)
  • 原文地址:https://www.cnblogs.com/houchen/p/14364871.html
Copyright © 2011-2022 走看看