java - 如何确保在所有子类中都使用一个变量?

标签 java oop inheritance

如果我有一个接口(interface)汽车要在各种类上实现,称为 BMW、AUDI 等。现在我希望它们都有一个字符串实例颜色,它们的颜色应该存储在其中。因为它们都可以有不同的颜色,所以我不能在接口(interface)中为它定义一个变量,因为它必须是最终的,因此它的值不会根据类的需要而改变。那么有什么方法可以确保每个类(class)都使用这种颜色。

另外请让我知道为什么接口(interface)中的变量总是最终变量,即如果它们不是最终变量会有什么问题。 我已经回答了以下问题,但没有一个令人满意 Why are interface variables static and final by default?

Interface Variables

Variables in Interface

还有其他一些。

最佳答案

您的界面将提供如下方法:

void setColor(String color);

String getColor();

然后子类就可以实现这些方法了

您不要将变量本身存储在接口(interface)中,因为那是一个实现细节

关于java - 如何确保在所有子类中都使用一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26118322/

相关文章:

java - Windows或Linux如何解决文件重命名/移动/复制

java - 在 Java 的驱动程序/程序文件中使用 get.Name() 输出失败

java - 为什么这个程序输出1?

javascript - 我在 JavaScript 中对这个原型(prototype)做错了,有什么想法吗?

java - 如何让方法使用java中子类的字段?

c++ - 为什么 "<<"运算符可以被继承而 ">>"运算符不能?

java - 在 Java 中将对象映射到整数 - 使用数组还是映射?

java - 编辑 JFrame 中的现有图像

java - equals() 方法如何在字符串缓冲区中工作?

c++ - 了解 OOP 关联和函数 (c++)