我正在学习Java中的链表,我有三个文件Main.java,List.java和Node.java.当我这样做时,我得到一个问题为什么我应该初始化一个在方法中声明的局部变量,而不是在类中声明的类变量.
在第一张图片中,我将head声明为类变量,它不会抛出任何错误.

但是在第二张图中我将head初始化为局部变量.现在,它会抛出一个错误来初始化局部变量.
声明为类变量时有什么区别?

Java初学者.
更新:我知道如何解决这个问题,但我不清楚为什么Java默认只初始化类变量而不是局部变量.
不是基元的静态/非静态字段(例如您的)默认Node初始化为。null原始静态/非静态字段获取其默认值。
还有另一种情况,一些变量被默认初始化:当你实例化一个数组时。每个单元格代表都有默认值,关于类型:
0为了intnull为了Integer但是,在本地方法中,编译器不会为本地变量分配默认值。
这就是为什么您的 IDE 会发出警告:“可能未初始化!”。
要了解原因,您可能会对这篇文章感兴趣。
| 归档时间: |
|
| 查看次数: |
1267 次 |
| 最近记录: |