48

这里有什么问题?

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

public class MyClass {
  UserInput input = new UserInput();
  input.name();
}

这抱怨:

<identifier> expected
   input.name();
4

5 回答 5

52

将您的代码放入方法中。

试试这个:

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

然后从你的 IDE 中“运行”这个类

于 2012-05-11T22:55:39.087 回答
18

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

你需要类似的东西:

public class MyClass {

  UserInput input = new UserInput();

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

或在构造函数中:

public class MyClass {

  UserInput input = new UserInput();

  public MyClass() {
      input.name();
  }
}
于 2012-05-11T22:54:04.637 回答
9

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

于 2012-05-11T22:54:26.763 回答
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();
        }

    }
于 2012-05-11T22:56:19.693 回答
0

我在方法中的代码中看到了这个错误;但是,它位于 try-with-resources 块中。

以下代码是非法的:

    try (testResource r = getTestResource(); 
         System.out.println("Hello!"); 
         resource2 = getResource2(r)) { ...

print 语句是什么使它非法。print 语句之前和之后的 2 行是资源初始化部分的一部分,所以它们很好。但是这些括号内不能有其他代码。在此处阅读有关“try-with-resources”的更多信息:https ://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html

于 2021-09-22T22:12:06.920 回答