【问题标题】:Java call methodJava调用方法
【发布时间】:2018-09-17 11:42:43
【问题描述】:
import java.util.HashMap;
   class Room1 {
       private String description;
       private HashMap<String, Room1> dir = new HashMap<String, Room1>();
       Room1(String de) {
           description = de;
       }
       public String toString() {
           return description;
       }
       public void add(String s, Room1 r) {
           dir.put(s, r);
       }
   }
   class Game {
       Room1 lobby = new Room1("lobby");
       Room1 pub = new Room1("pub");
       lobby.add("one", pub); //syntax error
   }

当我调用 add 方法时。eclipse 告诉我存在错误。我很困惑。我找不到问题。

【问题讨论】:

  • 您用于调用 add 方法的代码需要在方法或构造函数中,而不仅仅是在 Game 类中的某个位置。您可能忘记在此处添加 main 方法。
  • 不能直接调用类体中的方法。你需要调用一个方法。
  • 欢迎来到 StackOverflow。当您遇到错误时,请发布确切的错误消息 - 这样可以更轻松地帮助您找出问题所在。错误消息可帮助您找出问题所在。不要只说“有错误”。

标签: java methods syntax


【解决方案1】:

您必须在函数中调用方法。

class Game {
    Room1 lobby = new Room1("lobby");
    Room1 pub = new Room1("pub");
    public Game() {
        lobby.add("one", pub);
    }
}

【讨论】:

    【解决方案2】:

    将代码包装在一个方法中。

    class Game {
       Room1 lobby = new Room1("lobby");
       Room1 pub = new Room1("pub");
    
       public void init(){
            lobby.add("one", pub); //syntax error
       }    
    }
    

    【讨论】:

      【解决方案3】:

      使用正确的语法

      public class testing {
      public static void main(String arg[]) {
      
          Room1 lobby = new Room1("lobby");
          Room1 pub = new Room1("pub");
          lobby.add("one", pub);
        } 
       }
      

      【讨论】:

      • 我认为 dir 不应该在 Room1 中公开
      • @ricardofagodoy 我同意..他在方法调用中犯了错误
      猜你喜欢
      • 2016-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-15
      • 2016-04-12
      • 2013-03-05
      • 2013-05-14
      相关资源
      最近更新 更多