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

    
    
  • 相关阅读:
    Android网络开发的那些事儿
    first day to Ruby on rails
    [转]Windows SDK与DirectX SDK集成
    Windows8
    [转]MPI--MPI+VS2010 配置及编译
    codeblock添加头文件路径和静态库路径
    汇编笔记1:debug
    Eclipse Error
    Android SDk 离线安装方法
    求一程序员合租,回龙观东大街地铁站十分钟,精装次卧2000,无需押金,一共两家
  • 原文地址:https://www.cnblogs.com/houchen/p/14364871.html
Copyright © 2011-2022 走看看