java《猿享》——面向接口

面向接口思想

面向接口,在java中是一个很重要的一种思想。在学习了类的继承以后,我们会发现,继承中只能实现单向继承,即一个父类可以有多个子类,但是一个子类只能有一个父类,当我们要用类来进行多个继承的操作的时候,我们就应该用到面向接口的思想。


接口的主要目的是为了实现解耦,根据“高内聚,低耦合”的原则,我们在代码中应尽量降低类与类之间的耦合性,说明白点,就是为了降低日后代码维护的难度,如果代码之间联系过于紧密,那么在修改某个类中的内容时,极其容易影响其他类的运作,而造成”水波效应“。所以面向接口的思想就能避免这些问题。


再说说接口是为何能减少耦合性的。在接口中我们定义的类修饰用的是interface来修饰,一改之前的“class”。例如:

public interface text{

虽然声明时使用的为interface关键字的编译后仍然会产生.class文件。这点可以让我们将接口看做是一种只包含了功能声明的特殊类。


接口中成员的特点

1、接口中可以定义变量,但是变量必须有固定的修饰符修饰,public static final 所以接口中的变量也称之为常量,其值不能改变。
2、接口中可以定义方法,方法也有固定的修饰符,public abstract
3、接口不可以创建对象。因为接口中没有具体的方法。
4、子类必须覆盖掉接口中所有的抽象方法后,子类才可以实例化。否则子类是一个抽象类,抽象类同样不能通过new实例化对象。


接口的多实现

当一个类需要多继承时,只能通过接口来解决。在接口体系中,我们把这称之为类的多实现。例如:

public calss zi implements A,B{}

解决了类的多继承的问题。当然在实现接口的同时,类同样也可以继承。例如:

public calss zi extends fu implements A,B{}

接口的多继承

类与类之间可以通过继承产生关系,接口和类之间可以通过实现产生关系,那么接口与接口之间同样可以有继承关系,而且可以多继承。例如:

public interface fu1{
void function()
}
************************************
public interface fu2{
void function2()
}
************************************
public interface fu3{
void function3()
}
************************************
public interface zi extends fu1,fu2,fu3{
void function4()
}

zi类除了自身的function4()方法外,还继承了fu1,fu2,fu3的抽象方法。


总结

面向对象是java基础中比较早接触面向对象的思想。让我们在敲代码中有了更清晰的逻辑,规范代码逻辑的同时,为以后减少了不必要的错误。特别是在大型项目中,接口的思想更显重要。实现代码的模块化,功能分区等等…
好了,这次的《猿享》——面向接口也讲得差不多了,如果有不同意见的小伙伴欢迎评论区见,我也是一个刚刚在新手村捡了装备的小白而已,如有错误,感谢能得到伙伴们的指正!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值