java为什么类体中不能创建对象并调用方法??

import java.util.*;

public class TestMap{
String s;
public static void main(String args[]){
TestMap tt=new TestMap();
System.out.println(tt.s);
}

Map map=new HashMap();
map.put(1,"wumin");
map.put(2,"donghuan");
map.put(3,"dong");

String s=(String)map.get(1);

}

报错如下:

D:\用户目录\桌面\java\contains\TestMap.java:21: 错误: 需要<标识符>
map.put(1,"wumin");
^
D:\用户目录\桌面\java\contains\TestMap.java:21: 错误: 非法的类型开始
map.put(1,"wumin");
^
D:\用户目录\桌面\java\contains\TestMap.java:21: 错误: 非法的类型开始
map.put(1,"wumin");
^
D:\用户目录\桌面\java\contains\TestMap.java:22: 错误: 需要<标识符>
map.put(2,"donghuan");
^
D:\用户目录\桌面\java\contains\TestMap.java:22: 错误: 非法的类型开始
map.put(2,"donghuan");
^
D:\用户目录\桌面\java\contains\TestMap.java:22: 错误: 非法的类型开始
map.put(2,"donghuan");
^
D:\用户目录\桌面\java\contains\TestMap.java:23: 错误: 需要<标识符>
map.put(3,"dong");
^
D:\用户目录\桌面\java\contains\TestMap.java:23: 错误: 非法的类型开始
map.put(3,"dong");
^
D:\用户目录\桌面\java\contains\TestMap.java:23: 错误: 非法的类型开始
map.put(3,"dong");
^
9 个错误
<<< Process finished. (Exit code 1)
================ READY ================

5个回答

java不支持,直接将语句写在类体中。而且,OOP就是为了对象调用相应方法。这些语句应该写在一个方法里面。

可能和jdk版本有关,低版本只支持对象,不能用int做key,用"1"就好了

可以用构造块
{ // 加上
Map map=new HashMap();
map.put(1,"wumin");
map.put(2,"donghuan");
map.put(3,"dong");

String s=(String)map.get(1);
} //加上

用花括号括起来

详细:http://www.cnblogs.com/lzhp/archive/2013/06/06/3121315.html

这语句没在方法里,或者代码块里面就会报错

我知道有一种成员内部类,外部类可以创建对象调用内部类的成员和方法。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问