如何让Java中的所有类都可以访问对象列表?
我正在为这个服务器编写一个插件,我需要创建一个可以被几个类访问的玩家列表 例如,将有三个类:如何让Java中的所有类都可以访问对象列表?,java,Java,我正在为这个服务器编写一个插件,我需要创建一个可以被几个类访问的玩家列表 例如,将有三个类: Events Commands Plugin “事件”类将有一个在线玩家列表以及他们的上下文(我无法将此上下文添加到玩家)。我需要从这三个类中访问此列表 我不知道该怎么办,因为我担心类加载器会弄乱我的东西 我曾想过为玩家及其上下文(线程安全)创建一个带有静态访问器方法的全局变量类,并将我需要的所有内容存储在这里,但人们说全局变量在Java中是邪恶的,不应该这样做 我该怎么解决这个问题 您可以创建一个包
Events
Commands
Plugin
“事件”类将有一个在线玩家列表以及他们的上下文(我无法将此上下文添加到玩家)。我需要从这三个类中访问此列表
我不知道该怎么办,因为我担心类加载器会弄乱我的东西
我曾想过为玩家及其上下文(线程安全)创建一个带有静态访问器方法的全局变量类,并将我需要的所有内容存储在这里,但人们说全局变量在Java中是邪恶的,不应该这样做
我该怎么解决这个问题 您可以创建一个包含所有类都需要访问的列表的单例类,然后将该单例添加为所有3个类的组合成员
singleton设计模式在某种意义上是一个全局变量,但它是一种面向对象友好的方式,应该可以正常工作,而不是有害的。您可以创建一个singleton类,其中包含所有类都需要访问的列表,然后将该singleton添加为所有3个类的组合成员
singleton设计模式在某种意义上是一个全局变量,但它是一种面向对象友好的方式,应该可以正常工作,而不是有害的。您可以创建一个singleton类,其中包含所有类都需要访问的列表,然后将该singleton添加为所有3个类的组合成员
singleton设计模式在某种意义上是一个全局变量,但它是一种面向对象友好的方式,应该可以正常工作,而不是有害的。您可以创建一个singleton类,其中包含所有类都需要访问的列表,然后将该singleton添加为所有3个类的组合成员
从某种意义上说,单例设计模式是一个全局变量,但以一种面向对象友好的方式,应该可以很好地工作,而不是有害的。您可以将播放器列表封装在任何数据结构中(比如类
Players
由映射
或列表
或任何需要的结构支持)并通过构造函数或setter将该结构的引用传递给需要它的类(命令
,插件
,等等) 您可以将玩家列表封装在任何数据结构中(比如类Players
由Map
或list
或任何需要的结构支持),并通过构造函数或setter将该结构的引用传递给需要它的类(命令
,插件
等) 您可以将玩家列表封装在任何数据结构中(比如类Players
由Map
或list
或任何需要的结构支持),并通过构造函数或setter将该结构的引用传递给需要它的类(命令
,插件
等) 您可以将玩家列表封装在任何数据结构中(比如类Players
由Map
或list
或任何需要的结构支持),并通过构造函数或setter将该结构的引用传递给需要它的类(命令
,插件
等) 只需制作另一个玩家列表
类或其他东西来保存玩家列表。它不是一个全局变量,因为它只是另一个服务于特定用途的类。好吧,你可以将它们存储在数据库中,让每个类与一个CRUD类交互,CRUD类在数据库中进行查找…这取决于你需要进行查找的频率,它必须有多快等等。我个人认为静态对象没有问题:永远不要说“从不”,永远不要说“总是”。只需制作另一个玩家列表
类或其他东西来保存玩家列表。它不是一个全局变量,因为它只是另一个服务于特定用途的类。好吧,你可以将它们存储在数据库中,让每个类与一个CRUD类交互,CRUD类在数据库中进行查找…这取决于你需要进行查找的频率,它必须有多快等等。我个人认为静态对象没有问题:永远不要说“从不”,永远不要说“总是”。只需制作另一个玩家列表
类或其他东西来保存玩家列表。它不是一个全局变量,因为它只是另一个服务于特定用途的类。好吧,你可以将它们存储在数据库中,让每个类与一个CRUD类交互,CRUD类在数据库中进行查找…这取决于你需要进行查找的频率,它必须有多快等等。我个人认为静态对象没有问题:永远不要说“从不”,永远不要说“总是”。只需制作另一个玩家列表
类或其他东西来保存玩家列表。它不是一个全局变量,因为它只是另一个服务于特定用途的类。好吧,你可以将它们存储在数据库中,让每个类与一个CRUD类交互,CRUD类在数据库中进行查找…这取决于你需要进行查找的频率,它必须有多快等等。就我个人而言,我不认为静态对象有什么问题:永远不要说永远,永远不要说永远。