美文网首页
JAVA8_新特性_接口

JAVA8_新特性_接口

作者: bboymonk | 来源:发表于2017-05-18 10:01 被阅读0次
    JAVA8的接口里的静态方法,可以有方法体,方法不是抽象的。
    package com.wjb.interfaceDemo;
    
    /**
     * Created by ptdy on 2017/5/18.
     */
    public interface Java8 {
        public static void method1(){
            System.out.println("wjb");
        }
    }
    

    通过接口名直接调用

    package com.wjb.interfaceDemo;
    
    /**
     * Created by ptdy on 2017/5/18.
     */
    public class Java8Test {
        public static void main(String[] args) {
            Java8.method1();
        }
    }
    
    JAVA8的接口里的非静态方法,可以有方法体,方法不是抽象的。必须加上default关键字,不然报错。
    package com.wjb.interfaceDemo;
    /**
     * Created by ptdy on 2017/5/18.
     */
    public interface Java8 {
        public default void method2(){
            System.out.println("abc");
        }
    
    }
    

    但是不能通过接口名直接调用,必须通过实现类对象来调用。实现类不需要重写实现方法,因为接口的方法不是抽象的。

    注意:(如果实现类要重写接口方法也行,不能加上default关键字,如果重写了方法,那么就会调用重写的方法内容)
    package com.wjb.interfaceDemo;
    
    /**
     * Created by ptdy on 2017/5/18.
     */
    public class Java8Impl implements Java8 {
    
    }
    
    package com.wjb.interfaceDemo;
    
    /**
     * Created by ptdy on 2017/5/18.
     */
    public class Java8Test {
        public static void main(String[] args) {
            Java8Impl java8 = new Java8Impl();
            java8.method2();
        }
    }
    

    注意:如果一个类实现了多个接口中的方法,并且多个接口中的方法名一样,此时实现类必须重写方法,否则编译失败。

    相关文章

      网友评论

          本文标题:JAVA8_新特性_接口

          本文链接:https://www.haomeiwen.com/subject/zwtsxxtx.html