返回顶部

收藏

java8的接口默认方法实例

更多

java8新增了接口的默认方法, 也就是说在接口中也可以有实现了, 这个实现方法是默认的实现,你也可以在接口的实现类里对此默认方法进行重写。

如下实例:

public class AppInterfaceDefaultMethod {

    public static interface DefaultMethodDemo {
        //定义默认方法, 默认方法前面加default关键字, 后面跟方法声明和方法体
        default void demo(String input) {
            System.out.println(input);
        }

        void doSomething();
    }

    public static class DemoClass implements DefaultMethodDemo {
        @Override
        public void doSomething() {
            System.out.println("do something");
        }
    }

    public static class DemoClassOverrideDemo implements DefaultMethodDemo {
        //重写了默认方法
        @Override
        public void demo(String input) {
            System.out.println("demo " + input + " by override method");
        }

        @Override
        public void doSomething() {

            System.out.println("do something");
        }
    }

    public static void main(String[] args) {
        DefaultMethodDemo demo = new DemoClass();
        demo.demo("abc");

        DefaultMethodDemo demoOverride = new DemoClassOverrideDemo();
        demoOverride.demo("abc");
    }
}

标签:java

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. 加多 发表 2017-12-19 14:39:05 线程池使用FutureTask时候需要注意的一点事
  2. 卢利如 发表 2017-12-18 12:45:18 常见Java应用如何优雅关闭
  3. techug 发表 2017-12-18 04:34:32 《阿里巴巴Java开发手册》背后的故事与初心
  4. 尖兵 发表 2017-12-18 15:09:03 spring data jpa 小结
  5. Villim Wong 发表 2017-12-17 00:00:00 Java Exception
  6. 加多 发表 2017-12-17 02:02:18 线程不安全的SimpleDateFormat
  7. 萍韵众生 发表 2017-12-17 13:18:51 《Spring Cloud Config官方文档》快速启动
  8. TiuVe2 发表 2017-12-17 16:14:24 Java String 对 null 对象的容错处理
  9. 博主 发表 2016-11-16 18:21:34 如何排查Netty内存泄露问题?
  10. 博主 发表 2016-11-15 15:56:42 Java二进制兼容问题
  11. 博主 发表 2006-11-12 22:41:32 Java的动态链接
  12. 萍韵众生 发表 2017-12-16 10:55:37 《Spring Cloud Config官方文档》之Spring Cloud Config Serv

发表评论