Java8-默认方法

普通默认方法

  • 默认方法简单说就是接口可以有实现方法,而且不需要实现类去实现其方法

编码方式

  • 只需要在方法名前加入default关键字即可实现默认方法
    public interface Man {
        default void say() {
            System.out.println("I'm a Man ");
        }
    }

多个默认方法解决方案

当一个类实现多个具有默认方法的接口,且这些接口具有相同的默认方法:

  1. 创建同名方法覆盖重写接口的默认方法
    public class People implements Man, Woman {
        public void say() {
            System.out.println("I'm a People ");
        }
    }
    public interface Man {
        default void say() {
            System.out.println("I'm a Man ");
        }
    }

    public interface Woman {
        default void say() {
            System.out.println("I'm a Woman");
        }
    }
  1. 使用super来调用指定接口的默认方法
    public class People implements Man, Woman {
        public void say() {
            Man.super.say();
            Woman.super.say();
            System.out.println("I'm a People ");
        }
    }

静态默认方法

  • 接口可以声明静态方法
 public interface Man {
        default void say() {
            System.out.println("I'm a Man ");
        }
        static void hello(){
            System.out.println("hello");
        }
    }
  • 在实现类中可以直接调用接口的静态方法
    public class People implements Man, Woman {
    ...
        public void hello(){
            Man.hello();
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,088评论 19 139
  • 1.import static是Java 5增加的功能,就是将Import类中的静态方法,可以作为本类的静态方法来...
    XLsn0w阅读 5,075评论 0 2
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,194评论 18 399
  • 昨天有事情,在外面跑了一天,这天气预报,报的有雨,可就是不下呀,天热的跟下火了一样,真真不愿意在外面多呆一分钟,昨...
    锐基阅读 1,675评论 1 1
  • 早发白帝城 李白 朝辞白帝彩云间,[1]千里江陵一日还。 两岸猿声啼不住[2],轻舟已过万重山[3]。 注释 [1...
    古诗新读阅读 4,605评论 0 1

友情链接更多精彩内容