为了账号安全,请及时绑定邮箱和手机立即绑定

请问这段代码为什么会运行时异常

请问这段代码为什么会运行时异常

hy_wang 2017-08-04 15:27:49
package com.imooc; import java.util.HashMap; import java.util.Map; public class Test1 { public Map <String,String> two;  public Test1(){ Map two =new HashMap<String,String>(); } public void student(){ Test1 one=new Test1();  two.put("1","shuju"); System.out.println(two.get("1")); }     public static void main(String[] args) {      Test1 one=new Test1(); one.student();       } }请问这段代码明明没有报错但是执行时异常第十三行抛出异常??请问这是为什么
查看完整描述

4 回答

?
qq_天之彼方_03476983

TA贡献3条经验 获得超5个赞

你第13行的two,是你第七行声明的全局变量,你并没有给他赋值,默认值是null,用null值取调用put()方法,报空指针异常

查看完整回答
2 反对 回复 2017-08-04
  • hy_wang
    hy_wang
    请问我不是调用put方法给map中添加了一个对象吗。为什么是空的
?
筑梦之路

TA贡献86条经验 获得超23个赞

你的这个构造器有什么意义

查看完整回答
反对 回复 2017-08-04
?
轻浮与傲慢

TA贡献9条经验 获得超3个赞


你上边已经定义过two了下边又定义了一遍把第13行第一个Map去掉

查看完整回答
反对 回复 2017-08-04
?
产品经理不是经理

TA贡献481条经验 获得超143个赞

Map two =new HashMap<String,String>();
不要前面那个map。

查看完整回答
反对 回复 2017-08-04
  • 4 回答
  • 0 关注
  • 1889 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信