class - 变量声明属性

时间:2015-06-08 13:45:30

标签: java

Java新手,请耐心等待我!

我能知道为什么这是错的吗? 声明地图hashmap时没有错误,但是当我尝试用一​​些对填充它们时出错 如果我在构造函数中填充它们,它不会出错。

import java.util.*;

public class Test 
{
    static String pos_Let ; //letter coordinate for map
    static int pos_Num;     // number coordinate for map
    static int pos_LetNum ; //number reference of letter from HashMap let

    Map o = new HashMap (); 
    o.put(6, "O");
    o.put(7, "O");
    o.put(9, "O");
    o.put(10, "O");
    o.put(12, "O");

    Hashtable p = new Hashtable();
    p.put (10,"P");
    p.put (11,"P");  
}

1 个答案:

答案 0 :(得分:3)

您在方法或静态/初始化块之外编写代码。在Java中,不允许这样做。

要进行快速测试,您可以使用main方法:

    if($act=="ban"){
        $ban_until = $request->input('ban_until');
        if(Ragnarok::temporarilyBan($account_id,$banned_by,$ban_until,$ban_reason)){
            return $redirect()->to('banlist');
        }else{
            return $redirect()->to('banlist')->withErrors('Failed to ban, database error');
        }
    }else if($act=="unban"){
        if(Ragnarok::unBan($account_id,$banned_by,$ban_reason)){
            return $redirect()->to('banlist');
        }else{
            return $redirect()->to('banlist')->withErrors('Failed to unban, database error');
        }
    }

如果要将地图定义为字段并初始化,可以使用构造函数或初始化块:

public static void main(String[] args) {
    Map o = new HashMap (); 
    o.put(6, "O");
    o.put(7, "O");
    o.put(9, "O");
    o.put(10, "O");
    o.put(12, "O");


    Hashtable p = new Hashtable();
    p.put (10,"P");
    p.put (11,"P");
}