黑马程序员技术交流社区
标题:
关于map
[打印本页]
作者:
王宝龙
时间:
2012-9-19 13:33
标题:
关于map
本帖最后由 王宝龙 于 2012-9-19 22:22 编辑
为什么我把定义的HashMap封装在类中(第一种)编译就失败呢?
而如果放在主函数下里面就可以呢?这是哪里有问题?
第一种:
import java.util.*;
class MyMap
{
HashMap<Integer,String> hm = new HashMap<Integer,String>();
hm.put(1,"abcd");
hm.put(2,"abc");
hm.put(3,"def");
hm.put(4,"ghi");
hm.put(5,"jkl");
hm.put(6,"mno");
hm.put(7,"pqrs");
hm.put(8,"tuv");
hm.put(9,"wxyz");
public HashMap<Integer,String> getHm()
{
return hm;
}
}
class Second
{
public static void main(String[] arge)
{
for(int i=1;i<10;i++)
sop(new MyMap.getHm().get(i));
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
复制代码
第二种:
import java.util.*;
class Second
{
public static void main(String[] arge)
{
HashMap<Integer,String> hm = new HashMap<Integer,String>();
hm.put(1,"abcd");
hm.put(2,"abc");
hm.put(3,"def");
hm.put(4,"ghi");
hm.put(5,"jkl");
hm.put(6,"mno");
hm.put(7,"pqrs");
hm.put(8,"tuv");
hm.put(9,"wxyz");
for(int i=1;i<10;i++)
sop(hm.get(i));
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
复制代码
作者:
高照
时间:
2012-9-19 18:04
import java.util.*;
class MyMap
{
HashMap<Integer,String> hm = new HashMap<Integer,String>();
hm.put(1,"abcd");//语句必须放在函数体内,不能直接放在类里面。编译失败,创建对象时也不会自动执行
hm.put(2,"abc");//语句必须放在函数体内,不能直接放在类里面。编译失败,创建对象时也不会自动执行
hm.put(3,"def");//语句必须放在函数体内,不能直接放在类里面。编译失败,创建对象时也不会自动执行
hm.put(4,"ghi");//语句必须放在函数体内,不能直接放在类里面。编译失败,创建对象时也不会自动执行
hm.put(5,"jkl");//语句必须放在函数体内,不能直接放在类里面。编译失败,创建对象时也不会自动执行
hm.put(6,"mno");//语句必须放在函数体内,不能直接放在类里面。编译失败,创建对象时也不会自动执行
hm.put(7,"pqrs");//语句必须放在函数体内,不能直接放在类里面。编译失败,创建对象时也不会自动执行
hm.put(8,"tuv");//语句必须放在函数体内,不能直接放在类里面。编译失败,创建对象时也不会自动执行
hm.put(9,"wxyz");//语句必须放在函数体内,不能直接放在类里面。编译失败,创建对象时也不会自动执行
public HashMap<Integer,String> getHm()
{
return hm;
}
}
class Second
{
public static void main(String[] arge)
{
for(int i=1;i<10;i++)
sop(new MyMap.getHm().get(i));//这样创建了十个对象
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2