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

    
    
  • 相关阅读:
    667. Beautiful Arrangement II
    695. Max Area of Island
    485. Max Consecutive Ones
    coedforces #481Div(3)(ABCDEFG)
    躲藏
    车辆问题(贪心)
    最小化代价(优先队列)
    PUBG
    hdu 2647 Reward(拓扑排序+优先队列)
    HDU 3342 Legal or Not(判断环)
  • 原文地址:https://www.cnblogs.com/houchen/p/14364871.html
Copyright © 2011-2022 走看看