Как ссылаться на экземпляры классов в Java-методах для основного инвентаря игр на основе текста? [Дубликат]

В некоторых ситуациях вы можете скрыть тень другим контейнером. Например, если есть DIV выше и ниже DIV с тенью, вы можете использовать position: relative; z-index: 1; на окружающих DIV.

-1
задан GhostCat 18 April 2017 в 06:46
поделиться

2 ответа

Простой:

 Player1 user = new Player1();

Вы добавляете один и тот же объект снова и снова. Поместите это утверждение в ваш цикл. Вы хотите добавить совершенно новый объект Playwer во время каждой итерации цикла!

Но даже тогда все не получится; потому что (как полагал Эран): ваш класс Player имеет только статические поля. Это похоже на «обман»; потому что это означает, что все объекты Player также будут видеть одинаковые поля (потому что поля static разделяются между всеми экземплярами класса!) [/ ​​g4]

Другими словами: static - это ненормальность в хорошем дизайне OO. Вы не используете его по умолчанию; напротив: вы делаете поля статичными в особых угловых случаях (см. здесь для некоторых примеров).

4
ответ дан Community 17 August 2018 в 09:44
поделиться

У вас две ошибки:

  1. Вы снова и снова добавляете один и тот же экземпляр Player1 в список. Вы должны переместить Player1 user = new Player1(); в цикл, который добавляет игроков. Измените
    Player1 user = new Player1();
    
    // Tokenizing
    System.out.println("CSCI213 Players Management System");
    while (input.hasNextLine()) {
    
    на
    // Tokenizing
    System.out.println("CSCI213 Players Management System");
    while (input.hasNextLine()) {
        Player1 user = new Player1();
    
  2. Члены класса Player1 все статичны, поэтому, даже если вы исправите первую проблему, все экземпляры Player1 будут делиться этими членами. Вы должны изменить их на нестатические. Измените
    public class Player1 {
        static String loginname;
        static String password;
        static String chips;
        static String username;
        static String email;
        static String birthdate;
    
    на
    public class Player1 {
        String loginname;
        String password;
        String chips;
        String username;
        String email;
        String birthdate;
    
2
ответ дан Eran 17 August 2018 в 09:44
поделиться
  • 1
    Оказалось, что ... рад, что ты прокрутил до конца ;-) – GhostCat 18 April 2017 в 06:43
Другие вопросы по тегам:

Похожие вопросы: