Java 8 默认方法的简介说明

转自:

Java 8 默认方法的简介说明

Java 8默认方法

在Java 8中为接口新增了默认方法
即:Java8中接口可以有实现方法(只需在前面加上default 关键字)

默认方法的用途

避免接口修改时,出现不兼容的现象产生
例:
一个接口有非常多的实现类,现在需为接口新增一个方法,
此时如果直接在接口中定义一个抽象方法,则会出现所有实现类都需要编写此方法的实现逻辑,
此时有了默认方法的概念,我们就不需要在类中重写此方法,只需在接口中使用default关键字
编写方法即可

默认方法的语法

 public interface Che {
   default void showInfo(){
      System.out.println("che!");
   }
}
-------------------------------------------------
注意事项:
 一个接口只可以有一个默认方法
-------------------------------------------------

静态默认方法

Java 8的新特性中,还允许定义一个静态默认方法,如下所示:

 
public interface Che {
   default void showInfo(){
      System.out.println("che1");
   }
    // 静态方法
   static void showInfo(){
      System.out.println("che2");
   }
}

例:
默认方法的示例分享

 
public class testMain {
   public static void main(String args[]){
      Vehicle vehicle = new Car();
      vehicle.print();
   }
}
 
interface Vehicle {
   default void print(){
      System.out.println("che -1 ");
   }
    
   static void blowHorn(){
      System.out.println("blowHorn");
   }
}
 
interface FourWheeler {
   default void print(){
      System.out.println("che-FourWheel");
   }
}
 
class Car implements Vehicle, FourWheeler {
   public void print(){
      Vehicle.super.print();
      FourWheeler.super.print();
      Vehicle.blowHorn();
      System.out.println("che");
   }
}

------运行以上代码,将输出以下信息----
$ javac testMain.java 
$ java testMain
che -1 
che-FourWheel
blowHorn
che
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值