gpt4 book ai didi

java - 为什么会出现java.lang.NullPointerException?

转载 作者:行者123 更新时间:2023-11-29 07:52:49 26 4
gpt4 key购买 nike

首先我不是 Java 专家。所以我的问题可能很愚蠢。如果我弄错了请原谅。这是来自 OCJP MCQ。我写了以下代码

public class Test{
Integer a;
int b;

public Test(Integer x) {
b = a+x;
System.out.println(""+b);
}

public static void main(String... str)
{
new Test(new Integer("10"));
}}

Output: Exception in thread "main" java.lang.NullPointerException

我有以下问题,

<强>1。 Integer aint b 是否在语句 b=a+x; 执行前初始化为 0

<强>2。为什么会抛出 NullPointerException。

非常感谢您的回复!!

最佳答案

在 Java 中,所有对象引用都被初始化为 null。所以这意味着属性 Integer a 将为空,因为它还没有被初始化。因此,这意味着当执行 b = a+x; 时,您实际上是将变量 x 添加到引用变量 a 中,即

初始化属性Integer a:

Integer a = new Integer(0);

关于java - 为什么会出现java.lang.NullPointerException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19889310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com