gpt4 book ai didi

Java接口(interface)内部类

转载 作者:行者123 更新时间:2023-12-02 06:19:11 25 4
gpt4 key购买 nike

我仍在用 Java 编写战舰游戏。
我在模块化方面遇到了麻烦:我需要使用接口(interface)构建数据类(模型)。
我的想法是构建一个像这样的类层次结构:

BattleGrid => 一些方法,Grid => int rows, int cols, Cell[][] grid => char content

这意味着:
1. 公共(public)类是 BattleGrid 类(该类提供外部方法,如 initGrid()、placeShip() 等);
2.然后里面还有另一个类,Grid,它包含 Material 网格和一些信息,如网格行和网格列;
3. 每个单元格内都有该单元格的内容。
(显然都带有 setter 和/或 getter)

问题是:当我通过 BattleGrid 接口(interface)编写此内容时,内部类会自动声明为公共(public)静态。

哪种结构是正确的?

最佳答案

这就是接口(interface)的工作原理。公共(public)界面中的所有内容都是公共(public)的。如果其中有成员变量,它们将自动是静态的。尝试使用抽象类,或者将成员变量移至实现类。

关于Java接口(interface)内部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21165763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com