java - 如何通过 Java 接口(interface) promise 数据结构?

标签 java variables data-structures interface

假设我有一个接口(interface)“Car”,以及该接口(interface)的具体实现,称为“Campervan”。我希望每辆车都有以下变量: 内部座位数 国际乘客

人们可能会认为界面可能如下所示:

interface Car{
  private Integer passengers;
  public Integer seats;
}

但是由于多种原因这不起作用。 Java 接口(interface)不允许除 FINAL 和 PUBLIC 之外的变量。

由于 Java 接口(interface)不允许除公共(public)最终变量之外的变量,因此我如何实现所有实现该接口(interface)的类(例如 Campervan)都具有包含这些变量的内部数据结构的 promise ?公共(public)最终变量并不总是我希望接口(interface)所 promise 的。

注意:我确实理解接口(interface)的概念,不包括内部状态,因此强制变量为最终变量。但这是否意味着 Java 接口(interface)不允许对内部数据结构做出 promise ?

最佳答案

接口(interface)是供程序的其他部分使用的,内部数据结构是由接口(interface)的实现来决定的。如果您想在类层次结构中重用某些内部数据结构,您应该使用抽象类。

关于java - 如何通过 Java 接口(interface) promise 数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43227513/

相关文章:

java - 在没有 WebMvcConfigurationSupport 的情况下注册 Spring HandlerInterceptor

swift - SpriteKit SKSprite节点

c - 非连续数据结构

algorithm - 使用内置的 sort() 函数而不是复杂度始终为 nlogn 的合并排序是最佳实践吗

java - 使用 SWIG 将字节数组转换为 C 结构体

java.lang.ClassCastException : android. widget.LinearLayout$LayoutParams 无法转换为 android.widget.AbsListView$LayoutParams

java - 我无法将英镑符号 (£) 打印到屏幕上

c# - Unity2D : UnassignedReferenceException: Variable has not been assigned instantiate

xcode - NSClasses 与 Swift 新类

delphi - Delphi 中的 trie 实现?