![]() |
1
47
我认为你混淆了C属性和字段/变量。在C中,即使在抽象类中,也不能定义抽象字段。但是,您可以定义抽象属性,因为它们是有效的方法(例如编译为
正如一些人所提醒的,在类中不应该有公共字段/变量,即使是在C中。有几个答案暗示了我会推荐什么,但没有说清楚。你应该把你的想法翻译成Java作为JavaBean属性,使用GETTAG()。然后,您的子类必须实现这一点(我还用表类编写了一个项目来实现这一点)。 所以你可以有一个这样定义的抽象类…
然后,在任何具体的子类中,您都需要定义一个静态最终变量(常量),并从
编辑 : 不能重写继承字段(无论是C还是Java)。也不能重写静态成员,不管它们是字段还是方法。所以这也是最好的解决办法。我更改了上面的init方法示例,以演示如何使用它——同样,请将getxxx方法视为一个属性。 |
![]() |
2
58
在抽象类中定义一个构造函数,该类设置字段,以便具体实现符合调用/重写构造函数所需的规范。 例如。
当你扩展时
这样,实现者就需要设置
|
![]() |
3
6
在Java(或C++)中没有抽象变量。 如果父类有一个变量,而子类扩展了父类,则子类不需要实现该变量。它只需要访问父级的实例。get/set或protected access都可以。 “…所以应该提示我实现摘要”?如果您扩展了一个抽象类并且未能实现一个抽象方法,编译器将告诉您要么实现它,要么将子类标记为抽象的。这就是你将得到的所有提示。 |
![]() |
4
2
只需将此方法添加到基类
现在,扩展基类(不希望是抽象的)的每个类都应该提供一个标记 你也可以用俾路支的回答 |
![]() |
5
2
你能做的最好的就是为变量设置访问器/变异器。
|
![]() |
6
1
由于没有变量的实现,因此它不能是抽象的;) |
![]() |
7
1
为什么要所有子类定义变量?如果每个子类都应该有它,只需在超类中定义它。顺便说一句,考虑到OOP实践中最好不要公开字段,您的问题就更不合理了。 |
![]() |
8
1
将代码更改为:
这样,继承这个类的所有类都将拥有这个变量。你可以做200个子类,但每个子类都有这个变量。 旁注:不要将caps用作变量名;常见的观点是,所有caps标识符都引用常量,即不可更改的数据块。 |
![]() |
9
1
要添加每个类的元数据,注释可能是正确的方法。 但是,不能强制在接口中存在注释,就像不能强制静态成员或特定构造函数的存在一样。 |
![]() |
10
0
使用枚举强制值并保持绑定检查:
|
![]() |
11
-1
不,Java不支持抽象变量。这也没什么意义。 您希望子类对变量的“实现”做什么具体的更改?
当我有一个
|
|
user29759326 · 如何返回递归函数中的最后一个值? 7 月前 |
|
malife89 · 将java中的字符串读取为正确的日期格式 7 月前 |
![]() |
Tim · 在java中,有没有更快的方法将字节数组写入文件? 7 月前 |
![]() |
rudraraj · java中未声明最终变量 8 月前 |
![]() |
Bala Ji · 以下BFS的实施效率如何? 8 月前 |