在我学习java的旅程中,我正在编写一个迷你国际象棋游戏.
我从不理解界面,但我决定尝试一下.
所以我创建了一个接口来实现我的棋子上的移动设置
和我的移动解析器类.
像这样的东西:
interface MoveSets {
LinkedList moveSets = new LinkedList<>();
LinkedList potentialMoveSets = new LinkedList<>();
LinkedList allaysMoveSet = new LinkedList<>();
LinkedList potentialAllaysMoveSets = new LinkedList<>();
LinkedList enemysMoveSets = new LinkedList<>();
LinkedList potentialEnemysMoveSets = new LinkedList<>();
}
然后,我在这里和那里稍微改变了一点 – 虽然 – 这很好,我可以将相同的代码片段放在不同的类上并且只更改一次,但是当我完成代码时我的移动结果我看到了静态字段MoveSets.moveSets应以静态方式通知.
所以我稍微阅读了一下,大多数人都说默认情况下接口上的变量是静态的.他们还说我们不能将它们改为非静态变量.
所以我的问题是,如果有任何解决方法吗?如果没有,还有另一种方法可以将同一段代码放在不同的类中而不使变量成为静态的吗?
我总是将接口连接到不同类中的类似属性.
但如果它们如此严格,我可以用它们做什么(在…之外)
提醒自己我应该放什么方法或强制全局变量)?
提前致谢,
要么
解决方法:
您的假设是错误的 – 接口不是为了连接类似的属性,而是为了连接具有共同行为的类.
为了得到你想要的东西,你可以使用’getter’方法 – 一种返回特定值的方法.这样,您可以强制实现类创建属性(或某种替代).
标签:java,interface,static
来源: https://codeday.me/bug/20190824/1706778.html