如何定义带有静态值的内部类,并使其能够访问外部类对象



我想定义一个这样的类:

class Tree{
    ArrayList<Node> nodes;
    //...
    class Node{
        static int n = 0;
        private int id;
        public Node(){
            id = n++;
            Tree.this.nodes.add(this);
        }
    }
}

如果我定义static int n = 0,那么Node一定是static。当我在Node上添加static时,Tree.this不起作用。我该怎么办?

如果满足您的需求,您可以试试:-

class Tree{
    ArrayList<Node> nodes;
    private static int n = 0;
    //...
    class Node{
        private int id;
        public Node(){
            id = n++;
            Tree.this.nodes.add(this);
        }
    }
}

最新更新