接口

一、抽象类和抽象方法

定义:

抽象方法是指仅有声明没有方法体的方法,用abstract关键字声明。

如果一个类包含一个或多个抽象方法(不一定所有方法都必须是abstract),那就被限定为抽象类。

如果从一个抽象类继承,并想创建该新类的对象,那么就必须为基类中的所有抽象方法提供方法定义。如果不这样做,那么导出类也是抽象的,且编译器会强制我们用abstract限定。

用途:

为所有的导出类提供一个通用的接口,不同的子类可以通过不同的方式表示此接口,通过接口建立起一种基本形式,以此表示所有导出类的公共部分。

 

二、接口

定义:

    抽象类允许在类中穿件一个或多个没有定义的方法,提供接口部分;而接口可以认为是完全抽象的类,接口中所有的方法都必须是没有定义的,它只确定方法名、参数列表和返回类型,接口只提供形式,不提供任何具体实现。

    任何使用某特定接口的代码都知道可以调用该接口的哪些方法,而且仅需知道这些

    Interface默认是包访问权限,可以自声明为public。接口中可以包含域,默认为static和final的。接口中的方法默认为public,且只能为public,否则在继承后方法的访问权限会被降低。

 

三、Java中的多重继承

  •     因为接口没有任何具体实现,因此没有任何与接口相关的存储,也就无法阻止多个接口的组合。
  •     在Java中,可以同时实现多个接口以达到多重继承的目的,并且新的类可以向上转型为每个接口。
  •     在使用时应注意,同时实现多个接口,这些接口中尽量不要有同名的方法,否则会造成代码混乱。
  •     接口可以通过继承进行扩展:
Interface Vampire extends DangerousMonster, Lethal {
    void drinkBlood();
}
//注意: DangerousMonster和Lethal也都是接口,Vampire继承了这两个接口,而drinkBlood()是Vampire自己特有的方法, DangerousMonster和Lethal中的方法没有在新的接口里具体声明,但实际是存在的;但是实现Vampire接口的类里要把这三个接口中的方法都override下。

 

转载于:https://www.cnblogs.com/lqzzang/p/5394326.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值