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
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》