JAVA8_新特性_接口

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中接口的新特性问题,当时没有回答好,后查找资料,在这里做下笔记。 java8之前接口中...
    帅气滴糟老头阅读 4,375评论 0 5
  • 前言 本文是Java基础回炉文集的第三篇,关于文集可通过《Java基础回炉和提升暨文集开篇》了解。 今天我们将从接...
    TimeReview阅读 594评论 0 1
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,605评论 28 53
  • 步骤:发微博01-导航栏内容 -> 发微博02-自定义TextView -> 发微博03-完善TextView和...
    dibadalu阅读 3,181评论 1 3
  • 人工智能是什么?什么是人工智能?人工智能是未来发展的必然趋势吗?以后人工智能技术真的能达到电影里机器人的智能水平吗...
    ZLLZ阅读 3,888评论 0 5