Вопрос по java – Java: ожидается идентификатор

27

В чем здесь проблема?

<code>class UserInput {
  public void name() {
    System.out.println("This is a test.");
  }
}

public class MyClass {
  UserInput input = new UserInput();
  input.name();
}
</code>

Это жалуется:

<code><identifier> expected
   input.name();
</code>
Вам не хватает конструктора? ChristopheD
Вы не можете поставитьinput.name(); везде, где вы хотите, он должен быть внутри метода. Luiggi Mendoza

Ваш Ответ

4   ответа
4

input.name() должен быть внутри функции; классы содержат объявления, а не случайный код.

11

Вы не можете вызывать методы вне метода. Подобный код не может распространяться в классе.

Вам нужно что-то вроде:

public class MyClass {

  UserInput input = new UserInput();

  public void foo() {
      input.name();
  }
}

или внутри конструктора:

public class MyClass {

  UserInput input = new UserInput();

  public MyClass() {
      input.name();
  }
}
34

Поместите ваш код в метод.

Попробуй это:

public class MyClass {
    public static void main(String[] args) {
        UserInput input = new UserInput();
        input.name();
    }
}

Затем "запустить" класс из вашей IDE

5

Попробуйте вместо этого вот так: переместите элементы myclass в метод main:

    class UserInput {
      public void name() {
        System.out.println("This is a test.");
      }
    }

    public class MyClass {

        public static void main( String args[] )
        {
            UserInput input = new UserInput();
            input.name();
        }

    }

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