Java:预期的标识符

ran*_*its 33 java

这是什么问题?

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

public class MyClass {
  UserInput input = new UserInput();
  input.name();
}
Run Code Online (Sandbox Code Playgroud)

抱怨:

<identifier> expected
   input.name();
Run Code Online (Sandbox Code Playgroud)

Boh*_*ian 39

将代码放在方法中.

试试这个:

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

然后从IDE"运行"该类


Tud*_*dor 13

您无法调用方法之外的方法.像这样的代码不能在类中浮动.

你需要这样的东西:

public class MyClass {

  UserInput input = new UserInput();

  public void foo() {
      input.name();
  }
}
Run Code Online (Sandbox Code Playgroud)

或者在构造函数中:

public class MyClass {

  UserInput input = new UserInput();

  public MyClass() {
      input.name();
  }
}
Run Code Online (Sandbox Code Playgroud)


gee*_*aur 6

input.name()需要在函数内部;类包含声明,而不是随机代码。


Jon*_*yne 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();
        }

    }
Run Code Online (Sandbox Code Playgroud)