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());
}
}
运行效果如下图所示:
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


