Abstract Classes vs Interfaces

本文详细阐述了抽象类与接口的基本特性,包括它们能够包含的成员类型、存取权限及继承方式等,并对比了两者的不同之处,为读者提供选择适用场景的指导。

1.Abstract class

  • Can have concrete methods(Concrete methods are methods which have a definition)
  • Can have variables of any access specifier
  • Concrete methods can have any access specifier
  • Can extend only one class
  • A class can extend only one abstract class

2.Interfaces

  • Can have only abstract methods
  • Can have only public static final (constant) data members
  • All member methods are public and abstract by default
  • Can extend any number of interfaces
  • A class can implement any number of interfaces

翻译:

1.抽象类

  • 可以有具体的方法(有定义的方法)
  • 变量可以有任何的存取控制符
  • 具体的方法可以有任何的存取控制符
  • 只能扩展成一个类
  • 一个类只能扩展于一个抽象类

2.接口

  • 只能有抽象的方法
  • 只能有public static final的数据成员
  • 所有的成员方法默认的都是public且abstract
  • 可以扩展任意数量的接口
  • 一个类可以实现任意数量的接口

哪种情况可以用什么,哪种情况两者都能使用,哪种情况只能用其中的那一种?

举例说明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值