java接口Interface的存在意义浅谈

1. 继承

要谈接口,首先要了解java中继承的原理。继承在java中用关键字extends来实现。
比如说有类People,有两个类需要去继承People类,那么就要这么定义
class People{

public Sring name;
public void getBaby(){
//生孩子

}
public void getPeriod(){
//来大姨妈

}
public void eat(){
//吃饭

}
}

class Male extends People{

}

class Female extends People{

}

其中Male类和Female类都继承了People类,那么这两个类都具有了People可继承的成员变量和方法。例如可继承方法eat(),即作为人类中的一份子,不管是男性还是女性都要吃饭。但是,有一些方法,某些子类却不需要去继承。例如Male类就不需要去继承getPeriod()和getBaby()方法,一个正常的男性是不会有这两个功能的。他反而会需求另外的功能,比如说,getMyWife()。即一个男性会希望有一个他的妻子。但是我们又不能无中生有,在Male类中实现这个方法,那怎么办呢?,这是我们就需要一个媒人来帮我们介绍了。即接口的作用。

2.接口的用处

从以上可知,当子类继承的父类中满足不了子类的需求时就要用到接口。接着Male类讲,此时有一个类Marriage,可以满足Male类的需求。如下:
class Marriage{
getMyWife(){

}
}
若想获得个getMywife()这个方法,此时我们就需要继承Marriage这个类了。那么对于一个c++大佬兼java小白来说怎么定义Male类呢?他/她会这么定义:
public class Male extends People,Marriage{

}
首先我负责任的告诉你,如果你真这么做了,我建议你重新学一遍java基础。因为java并不支持多继承。由此我们引申出关键字interface,即接口。
这里要想使用的话,需要先定义接口Marriage,然后再使用关键字implements来继承接口。如下:
interface Marriage{
public getMyWife();
//接口中方法都为抽象方法不用实现具体方法,声明即可
}
public class Male extends People implements Marriage{

}
这样就能满足Male类的需求了。
当然这只是对于男性来说的,人的需求是很多的,因此我们可能需要在接口中定义多个方法,当然也可以定义多个接口都使用。毕竟java是支持多接口的。
如:
class Female extends People implements Clothes,MkeUp{

}

总结

在java中接口出现的原因就是补充java中无法多继承的不足。同时接口却可以同时使用多个。java的这一矛盾的设计理念很好的表现了java的三大特性,即封装、继承、多态。具体的过程就要涉及到了设计模式这一理念。大家有兴趣的可以去看看。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高浮雕时

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值