java基本类型与包装类

package scjp;

public class PrimiObj {

	Integer i;
	int x;

	public PrimiObj(int y) {
		x = i + y;
		System.out.println(x);
		;
	}

	public static void main(String[] args) {
		new PrimiObj(new Integer(4));
	}

}

 

运行时会出现什么呢?是输出4还是其它的,答案是NullPointerException 。

问题就出在Integer i上,基本类型如果没有赋值默认是0,而Integer是一个对象,也就是一个object,我们知道object没有初始化时默认为null,所以在x=i+y时i为null,报空指针异常。

 

自认为对这种基本知识能运用自如,可是我确答错了,看来core java不可少。

 

你可能感兴趣的:(java)