小编Dam*_*ora的帖子

在另一个方法中初始化对象时出现NullPointerException

我试图了解二元树并且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.问题是什么?

java binary-tree nullpointerexception

4
推荐指数
1
解决办法
1812
查看次数

如何在循环中重新声明变量?

此代码不起作用:

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一次又一次地重新宣布吗?

java loops for-loop

2
推荐指数
1
解决办法
91
查看次数