У меня есть два класса - Chatroom
и User
.Вызов метода экземпляра без указания имени экземпляра
Chatroom
имеет функцию, чтобы удалить указанного пользователя из списка массивов Chatroom
.
public void removeUser(User u)
{
if(userlist.contains(u)){
userlist.remove(u);
}
}
А в классе User
есть метод, называемый leaveRoom
. Этот метод пересылает параметр User
в метод removeUser
экземпляра Chatroom
.
public void leaveRoom(final Chatroom name)
{
name.removeUser(this);
}
Однако он требует для имени экземпляра класса Chatroom
быть дано функции в качестве параметра. Работа с blueJ Я должен поместить этот тип в окно при вызове метода из экземпляра User
.
Теперь мне было интересно, есть ли способ вызвать правильный метод в правильном экземпляре Chatroom
БЕЗ указания указать имя экземпляра в качестве параметра?
РЕДАКТИРОВАТЬ:
Пользователь может находиться только в одном чате одновременно. Цель состоит в том, чтобы leaveRoom()
в текущем чате, не указывая его.
Я не уверен, что речь идет. То, как вещи определены, нужно передать 'Chatroom' методу' leaveRoom'. Другой вариант - передать 'User' методу' removeUser' 'Chatroom'. –
Ну, вопрос будет состоять в том, как передать текущий Chatroom пользователь в метод leaveRoom, если это возможно. –