Я создаю плагин для Bukkit с несколькими различными классами. Основной класс загружает информацию из разных конфигурационных файлов в общедоступные переменные в основной класс. Когда человек запускает команду в игре, основной класс отправляет обработку для команды в другой класс, который называется playerCommands
, который инициализируется с использованием основного класса MineJobs
. So handler = new playerCommands(this)
, в основном. Когда playerCommands
инициализирует, он тянет публичные переменные из MineJobs
так:Сохранение переменных, которые были изменены вне класса
public class playerCommands implements CommandExecutor{
private MineJobs Main;
private Conf Config;
private Lang Lang;
private Map<String, Player> Players;
private Map<String, Job> Jobs;
private Map<Location, SignC> Signs;
public playerCommands(MineJobs main) {
Main = main;
Config = main.Config;
Lang = main.Lang;
Players = main.Players;
Jobs = main.Jobs;
Signs = main.Signs;
}
Мой вопрос: Когда я изменить один из частных переменных в playerCommands
, будет что изменять общие переменные в MineJobs
, так что я могу назвать сохранить функцию там и не нужно передавать переменные обратно? Или мне нужно определить переменные по-разному?
Если вы звоните 'Players.put («Джордан», новый игрок («Майкл Джордан»))', то ваш 'Игроки main'«ы также „знать“ об изменении, так как они относятся к одной и той же карте. Это ваш вопрос? – kiruwka
Да, спасибо. – AegisHexad