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

    
    
  • 相关阅读:
    hive 数据hadoop数据etl交换
    团队冲刺(三)
    团队冲刺(二)
    CVPR2019论文热词云的实现
    团队冲刺(一)
    团队开发之电梯演讲----团队项目介绍--“益青春APP”
    android的finish()方法
    java web项目通过外网ip访问
    MySQL出现错误1205-Lock wait timeout exceeded; try restarting transaction
    团队开发(自己的理解)
  • 原文地址:https://www.cnblogs.com/houchen/p/14364871.html
Copyright © 2011-2022 走看看