gpt4 book ai didi

java - 在类中声明时无法访问变量。在函数中声明时工作。为什么?

转载 作者:行者123 更新时间:2023-12-01 06:39:47 26 4
gpt4 key购买 nike

在下面的代码中,LinkedList 显然是一个用于创建链接列表的类,它具有方法 insertFirst(..)displayList() .

我试图使用此类在另一个类中创建变量 --> FCFS 类。在类 FCFS 中将其声明为私有(private)变量会导致以下行出现 NullPointerException 错误:process.insertFirst(..)process.display()。当我在 work() 方法中声明它时,它工作得很好。

我只是想了解为什么它有效:

public class FCFS {   
public void work(){
LinkedList process = new LinkedList();
process.insertFirst(3);
process.displayList();
}
}

虽然这不是:

public class FCFS {
private LinkedList process;

public void work(){
process.insertFirst(3);
process.displayList();
}
}

最佳答案

在第二个代码示例中,您没有像第一个代码示例中那样初始化process。因此,Java 自动将其初始化为 null,根据 JLS 4.12.5 。使用:

private LinkedList process = new LinkedList();

或者您可以使用构造函数:

public FCFS() {
process = new LinkedList();
}

关于java - 在类中声明时无法访问变量。在函数中声明时工作。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15643911/

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