抽象类与接口

一 抽象类

      包含抽象方法的的类叫做“抽象类”,例如 抽象方法 abstract void f(); 如果有类包含有一个或者一个以上的抽象方法,则为抽象类。

     抽象类的目的,用抽象方法,表示一个通用接口。如果抽象类不完整,也就是说继承它的类没有完全实现抽象方法时,我们是不能产生该类的对象的。它还是抽象类。

     抽象类可以有成员变量。

二 接口 interface

      interface关键字比abstract更进一步。(可以把它看为纯粹的抽象类)。

    接口当中的成员方法为public ,成员变量隐式为static ,final的。接口只是提供了形式,而并没有提供任何具体的实现。

   接口的多重继承。

   因为接口是根本没有任何形式的具体实现的,所以也就无法阻止多个接口的组合。这一点是非常重要的,因为在C++当中,每个类基本都有具体的实现,在多重继承时,就有冲突的问题,我们到底选择哪个基类当中的方法?

     在java的导出类当中,不强制要求必须有一个是抽象的或者具体的基类。当然可以从多个接口当中继承,从而间接的实现多重继承,也可以从一个非接口的类继承,但是其余的父类必须为接口。因为继承类从多个接口继承,所以可以向上转型为 任何一个父接口的类型。

使用接口的原因:一,可以向上转型为多个基类型。二,防止客户端程序员创建该类的对象,并确保这仅仅是建立一个接口 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值