我试图了解二元树并且NullPointerException
即将到来.所以我决定写一个小程序试图理解它.这是代码:
public class Nulls
{
static Node node;
private class Node
{
int val;
Node right;
Node left;
}
public void init(Node n)
{
if(n==null)n=new Node();
}
public void print()
{
System.out.println(node);
}
public static void main(String[] args)
{
Nulls n=new Nulls();
n.init(node);
n.print();
}
}
Run Code Online (Sandbox Code Playgroud)
输出是null
.如果我理解正确,节点对象被初始化,输出应该是对象的toString()
方法.并且由于该print()
方法在执行之后init(Node n)
,输出不应该是null
.问题是什么?
此代码不起作用:
public class Test
{
public static void main(String[] args)
{
int i=3;
int i=4;
System.out.println(i);
}
}
Run Code Online (Sandbox Code Playgroud)
那为什么这段代码有效呢?
public class Test
{
public static void main(String[] args)
{
for(int a=0;a<9;a++)
{
int b=a+1;
System.out.println(b);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我们不是b
一次又一次地重新宣布吗?