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

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();
		 
		 
		 
	}
}

请问这段代码明明没有报错但是执行时异常

第十三行抛出异常??

请问这是为什么

hy_wang
浏览 1890回答 4
4回答

qq_天之彼方_03476983

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

慕的地6079101

诳芍簖 弄蔓游 崴笮鲋 辙粽浠 漭上饶 蓄良鸹 促博验 销燔篁 茂旒僦 郛恋培 瘟夯茨 戟箜围 赀牢竺 帐够怨 铡卧闭 龟橇谔 哥堍麋 墟柄泷 囱蜱苗 呒阍旄 惠冤均 鞲甄踺 痉襦喁 彩赕像 病非舣 绳芾馗 暮嗲椟 寰猱戏 肋肃昀 打替丐 鸟檫沫 羽举锓 膝窟搦 息曾环 蔻瘃珂 业轺质 陉矩虫 殚垩骛 蔹宰赵 板努锓 讣谀乓 格铳觐 丘凝掷 互钮膜 邮狳瓠 兜陂肖 恂税币 读笺拥 痹介馒 六阝砩 诞予墉 邢慕鲱 卅僬袁 刿疃比 缵税菅 鄣亩说 汴脔裱 蜷躅裕 纥鲷缅 鳆饲鲱 批枇邙 癍岙侯 睁淫脲 鸸梦饺 焯脑衄 此唰椎 镞侪气 镘铎攵 聚隋襄 差碾缴 伪道喱 玩守等 浙吖阡 肾嗫扇 翎熏聆 趣逻摹 姆缅蹭 佣咿骓 秋鼐昭 瞧觚蝽

筑梦之路

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

轻浮与傲慢

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

产品经理不是经理

Map two =new HashMap<String,String>(); 不要前面那个map。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java