接口,抽象方法的作用--随笔

    abstract 关键字允许人们在类中创建一个或者多个没有任何定义的方法----提供了接口部分,但是没有提供任何相应的具体实现,这些实现是由此类的继承者创建的。也就是说abstract类只是对外提供一个接口,这个接口通常在基类中创建,用于通过多态去搞事情(也就是向上转型)。因为导出类有而基类没有的方法,基类是没法访问导出类中的这个方法的。

     一个类只能继承一个类,向上转型的时候只能转成一个基类。因此我们就出现了接口,一个类可以是实现多个接口。当我们把一个类和就扣组合在一起的时候,这个类必须放在前面,后面跟着的才是接口(否则编译器会报错)。一定要记住使用接口的核心原因,一为了能够向上转型为多个基类型(以及由此而带来的灵活性)。然而使用接口的第二个原因确实与使用抽象基类相同:防止客户端程序员创建该类的对象,并确保这仅仅是建立一个接口。

     那么就带来一个问题,我们应该使用接口还是抽象类呢?

     如果要创建不带任何方法定义和成员变量的基类,那么就应该选择接口而不是抽象类。事实上,如果知道某事物应该成为一个基类,那么第一选择应该是使它成为一个接口。

    接口扩展的时候可以使用多继承(仅适用于接口的继承)。一般情况下,只可以将extends用于单一的类,但是可以引用多个基类接口。就像底下的例子,只需要用逗号将接口名一一分割开就行。

interface m{  void a(); }

interface z{  void b(); }

interface y{  void c(); }

interface g extends m,z,y{  void d(); }

class i implements g {

public void a(){};

public void b(){};

public void c(){};

public void d(){};

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

子鞋

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

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

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

打赏作者

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

抵扣说明:

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

余额充值