【问题标题】:Java: Identifier expectedJava:需要标识符
【发布时间】:2020-12-05 21:43:39
【问题描述】:

这里有什么问题?

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();

【问题讨论】:

  • 你缺少构造函数吗?
  • 你不能把input.name();放在任何你想要的地方,它必须在一个方法里面。
  • 这也可以通过缺少匹配的花括号来表现出来......特别是如果它也抱怨枚举。

标签: java


【解决方案1】:

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

你需要这样的东西:

public class MyClass {

  UserInput input = new UserInput();

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

或在构造函数内部:

public class MyClass {

  UserInput input = new UserInput();

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      将代码放入方法中。

      试试这个:

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

      然后从您的 IDE 中“运行”该类

      【讨论】:

        【解决方案4】:

        试试这样吧,把你的 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();
                }
        
            }
        

        【讨论】:

          【解决方案5】:

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

          以下代码是非法的:

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-03-31
            • 1970-01-01
            相关资源
            最近更新 更多