ava中的抽象类与接口

ava中的抽象类与接口,第1张

ava中的抽象类与接口

重申一个问题:除了上面提到的这些情况之外,还有其他任何情况,我们特别需要使用抽象类(可以看到模板方法设计模式仅在概念上基于此)

是的,如果你使用JAXB。它不喜欢接口。你应该使用抽象类或通过泛型解决此限制。

接口:

  1. 一个类可以实现多个接口
  2. 接口根本无法提供任何代码
  3. 接口只能定义公共静态最终常量
  4. 接口无法定义实例变量
  5. 添加新方法会对实现类产生连锁反应(设计维护)
  6. JAXB无法处理接口
  7. 接口不能扩展或实现抽象类
  8. 所有接口方法都是公开的

通常,应该使用接口来定义合同(要实现什么,而不是如何实现)。

抽象类:

  1. 一个类最多可以扩展一个抽象类
  2. 抽象类可以包含代码
  3. 抽象类可以定义静态常量和实例常量(最终)
  4. 抽象类可以定义实例变量
  5. 修改现有抽象类代码会对扩展类产生连锁反应(实现维护)
  6. 向抽象类添加新方法不会对扩展类产生连锁反应
  7. 抽象类可以实现接口
  8. 抽象类可以实现私有和受保护的方法

抽象类应用于(部分)实现。它们可能是限制API合同实施方式的一种手段。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5059108.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存