
Java接口的定义
接口英文称作interface,在软件工程中,接口泛指供别人调用的方法或者函数。
在Java中,定一个接口的形式如下:
public interface 接口名 {
     
    // 声明变量
    // 抽象方法
}
接口无法被实例化,但是可以被实现,用implements表示,必须实现接口内所描述的所有方法。
类实现接口,形式如下:
public class 类名 implements 接口名 {
   //这里需要实现所有接口的的方法
}
Java接口的作用
接口的作用:就是把使用接口的人和实现接口的人分开,实现接口的人不必要关心谁去使用,而使用接口的人也不用关心谁实现的接口,由接口将他们联系在一起。
除此以外,接口还有一个非常大的好处:就是提升开发效率。
比如:你可以把接口的定义先写好,然后告诉A兄弟去用你写好的接口(定义好但还没有实现),去实现A兄弟自己的的具体功能(可以提前做起来),不用等着你把接口的实现都忙完再开展工作,这样可以提高工作效率,并且底层和应用也通过接口做了一个很明显的分层。
Java接口的规范
Java接口的规范,主要包含如下6点:
1.接口中可以定义常量,不能定义变量,常量默认的修饰符:public static final;
2.接口中所有的方法,都是抽象方法,接口中方法都会自动用 public abstract 修饰;
3.接口不能被实例化,即 new 一个对象,需要实现类来解决;
4.接口没有构造方法,因为接口主要是对行为进行抽象的,是没有具体存在;
5.一个接口可以继承多个接口,但不能继承类;
6.接口的实现类必须实现接口中全部的方法,或者:定义为抽象类。
Java接口的实例
用现实生活中的一个例子来说明,比如:大家最熟悉的支付场景,现在用的比较多的就是:微信和支付宝。

从接口的角度来讲,微信和支付宝都具备同样的接口:支付。
这样我们就可以先定义好支付的接口,如下所示:
/**  
* 支付接口
* @author mikechen  
* */
public interface Pay {
    public String pay();
}
下面微信和支付宝就可以分别去实现自己的实现类。
/**  
* 接口详解
* @author mikechen  
* */
public interface Pay {
    public String pay();
}
/**
 * 支付宝支付
 */
public class AliPay implements Pay {
    @Override
    public String pay() {
        System.out.println("支付宝pay");
        return "success";
    }
}
/**
 * 微信支付
 */
public class WeixinPay implements Pay {
    @Override
    public String pay() {
        System.out.println("微信Pay");
        return "success";
    }
}
public static void main(String[] args) {
 /**
      * 支付宝应用
      */
    Pay pay = new AliPay();
    pay.pay();
 /**
      * 微信支付应用
      */
    pay = new WeixinPay();
    pay.pay();
}
Java接口的小结
以上我就主要通过Java接口的定义、作用、规范、以及实例来作了一个完整的详解,希望对大家掌握Java接口有所帮助。
关于mikechen
mikechen睿哥,10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。