我可以拥有一个空的Java类吗?

And*_*hby 2 java class abstract

我正在创建一个基于网格的游戏.

我需要实现一组在网格内随机定位的障碍.我创建了一个抽象类ALifeForm,它包含网格中每个项目的常用方法.显然,抽象类无法初始化,所以我打算创建一个新类AObstacle,它将扩展ALifeForm.

唯一的问题是,我的AObstacle班级不专业.它需要的所有方法都在其中ALifeForm.

我可以空课吗?这是不好的编程习惯吗?如果是这样,我可以实现什么呢?

Dav*_*vid 7

当然...

class AObstacle { }
Run Code Online (Sandbox Code Playgroud)

(加上你正在使用的任何继承模型.)没有什么可以阻止你这样做.

请记住,一个并不是你定义的东西.一种类型.该类只是用于描述类型的语言/语法结构.如果所描述的类型除了继承模型之外没有任何属性或操作,那么就没有别的东西可以添加到它.

虽然你添加一件事.你给它起了个名字.听起来并不多,但定义具有特定名称的语义概念(特别是在静态类型环境中)非常重要.您的类型现在具有除系统中其他类型之外的身份.如果稍后添加了某些内容,则可以在不重构和更改的情况下添加它们.

  • 虽然从抽象类继承的空类可能是代码气味,但有时它们是描述您想要建模的结构的最佳方式.从对问题中情景的描述来看,这似乎是一个有一点警告的情况:一个障碍真的是一种生命形式吗?也许`ALifeForm`应该被重命名为`AGridItem`或类似的东西,包括生物和无生命的障碍. (2认同)