Java接口(定义作用规范及实例详解)

Java接口(定义作用规范及实例详解)-mikechen

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接口的实例

用现实生活中的一个例子来说明,比如:大家最熟悉的支付场景,现在用的比较多的就是:微信和支付宝。

Java接口(定义作用规范及实例详解)-mikechen

从接口的角度来讲,微信和支付宝都具备同样的接口:支付。

这样我们就可以先定义好支付的接口,如下所示:

/**  
* 支付接口
* @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

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法