Java 接口中也可以定义实现方法(default)-你知道吗?
在日常开发中,我们通常都使用接口定义方法,但是你是否知道接口中也可以定义方法的实现呢?
下文将通过示例的讲述具体的实现方法,如下所示:
下文将通过示例的讲述具体的实现方法,如下所示:
今天上班接到领导一个需求,让我在一个接口中加入一个方法的定义, 当时听到这个需求时,我就头大,因为这个接口有100个类引用了, 当添加新的定义后,另外100个类是否都要增加这个方法的实现呢? 通过查阅资料,最后发现在Java中我们可 ------------------------------------------------- 使用default 关键字使定义的方法,无需在类中实现,如下例所示: --------------------------------------------------例:
/* interface1.java */ package servlet01; public interface interface1 { public final String a = "java265.com--接口中"; public String ShowInfo1(); public String ShowInfo2(); /* 直接由接口调用使用 */ static public int ShowInfo3() { return 88; } /* 此方法可重写,也可直接使用 */ default public String ShowInfo4() { return a + "返回值"; } } /*interface1Impl1.java */ package servlet01; public class interface1Impl1 implements interface1 { @Override public String ShowInfo1() { return "java265.com-1"; } @Override public String ShowInfo2() { return "java265.com-2"; } public static void main(String[] args) { interface1 t1 = new interface1Impl1(); System.out.println("showInfo1===>" + t1.ShowInfo1()); System.out.println("showInfo2===>" + t1.ShowInfo2()); // 静态方法可直接使用接口调用 System.out.println("showInfo3===>" + interface1.ShowInfo3()); // 接口中已生成方法,无需重写 System.out.println("showInfo4===>" + t1.ShowInfo4()); } }运行效果如下图所示:
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。