Java 跨类共享模型对象

Java 跨类共享模型对象,java,oop,object,Java,Oop,Object,我有一个模型类团队。我需要在不同的类中对此类执行多个操作,如Coach和Admin。我的问题是,在创建所有其他类时,如何维护同一个Team对象 在TestDriver类中,我最初使用团队对象创建Coach。但是如果我想创建新的管理员,我需要通过相同的团队。这里有什么我需要遵循的模式吗 //Model Classes public class Player { String playerName; } public class Team { List<Player>

我有一个模型类
团队
。我需要在不同的类中对此类执行多个操作,如
Coach
Admin
。我的问题是,在创建所有其他类时,如何维护同一个
Team
对象

TestDriver
类中,我最初使用团队对象创建
Coach
。但是如果我想创建新的
管理员
,我需要通过相同的
团队
。这里有什么我需要遵循的模式吗

//Model Classes

public class Player {
    String playerName;
}

public class Team {
    List<Player> playerList;
}


//Class to modify model

public class Coach {
    Team team;

    public Coach ( Team team) {
        this.team = team;
    }

    public void deletePlayer(Player) {
        //Remove the player form team
    }
}

public class Admin {
    Team team;

    public Admin ( Team team) {
        this.team = team;
    }

    public void addPlayer(Player) {
        //Add the player to team
    }
}

//Test Driver class 

public class TestDriver {
    public static void main(String args[]) {

        Team team = new Team();

        Coach coach = new Coach(team);
        coach.deletePlayer(team);

        //How to pass the same team
        Admin admin = new Admin(???);
        admin.addPlayer(team);

    }
}
//模型类
公开课选手{
弦乐演奏者姓名;
}
公开课小组{
列表玩家列表;
}
//类来修改模型
公务舱客车{
团队;
公共教练(团队){
这个团队=团队;
}
公共播放器(播放器){
//将球员从队伍中移除
}
}
公共类管理员{
团队;
公共行政(团队){
这个团队=团队;
}
公共无效添加播放机(播放机){
//将球员加入球队
}
}
//测试驾驶员等级
公共类测试驱动程序{
公共静态void main(字符串参数[]){
团队=新团队();
教练=新教练(团队);
教练员、运动员(队);
//如何通过同一队
管理员=新管理员(??);
addPlayer(团队)管理员;
}
}

这就可以了:
管理员=新管理员(团队)

现在,
admin
coach
实例都将引用相同的
团队
实例。因此,无论您对一个
团队所做的任何更改,都将反映在另一个团队中


您应该阅读更多关于Java中变量如何仅保存对内存中实际对象的引用的信息。

使用相同的对象/变量
team

Team team = new Team();

Coach coach = new Coach(team);
coach.deletePlayer(team);

Admin admin = new Admin(team); // <-- here
admin.addPlayer(team);
Team团队=新团队();
教练=新教练(团队);
教练员、运动员(队);
管理员=新管理员(团队)//