【发布时间】:2025-12-19 23:20:18
【问题描述】:
我正在设计一种 Monopoly 游戏来练习我的 Java 技能。
我希望有一个“Space”类来表示游戏板上的空间。像这样。
public class Space{
private Player [] occupants;
private String name;
public Space(String name){
this.name = name;
}
}
我来自 python 背景,所以如果我这样做,我可能会使用某种“动作”函数初始化每个空间,每个路径都是唯一的。所以像这样。
class Space():
def __init__(self, name):
self.name = name
self.action = None
GO_SPACE = Space()
def GO_ACTION():
## do some processing
GO_SPACE.action = GO_ACTION
本质上是在运行时将函数分配给 Space 对象。我不记得我的语法是否正确,但希望很清楚我想要做什么。每个空间都有自己独特的功能来处理玩家登陆时的动作。
我仍然愿意改变事物的架构方向,但是我如何在 Java 中做这样的事情呢?我承认,我对 Java 的了解有点生疏,但我的第一个想法是尝试以某种方式为私有成员变量分配一个函数……这种方法是否可行?我不记得 Java 是否有对象或类似的函数。
【问题讨论】:
-
Java 8 添加了 lambda。
-
谢谢!不知道。我会检查一下。
标签: java function object dynamic private-members