【发布时间】:2014-02-20 20:35:39
【问题描述】:
我想声明一个抽象类,它有一个要在其子类中初始化的变量。例如,假设我们有一个名为 Country 的抽象类和一个名为 United States 的子类。 (我知道,通常你会让美国成为 Country 的一个实例,但我只是以此为例,所以我们假设这是我们要进行的设计。)我想要一个名为 bigCities 的public final Set<String>在 Country 中已声明但未初始化,但将在美国初始化为 {"New York", "Los Angeles", "Chicago"}。我将如何做到这一点?
(如果之前有人问过,我很抱歉,但我的问题很难制定精确的搜索词。每次我尝试在 Google 或 StackOverflow 上搜索时,我都会遇到与我相似但不是我的问题正在寻找。)
【问题讨论】:
-
我可能在超类中有一个构造函数接受这种参数,所以子类必须明确地用一个值调用它
-
你有没有尝试过? Stack Overflow 旨在帮助您在用尽自己的资源后解决问题。这是一个非常基本的问题,因此虽然提供答案很容易,但答案并不能解决您潜在的困惑(因为我们看不到您卡在哪里)
-
我有 50 个这样的变量,就像 bigCities 一样。我宁愿不必将所有这些参数都作为函数的参数,因为这会使代码看起来非常混乱。有办法解决吗?
-
@user477766 嗯,那听起来你的设计很糟糕。
-
@njzk2 应该将其添加为答案。
标签: java inheritance abstract-class