繁体   English   中英

如何使用静态值定义内部类并使其可以访问外部类对象

[英]How to define a inner class with static value and make it can access outer class object

我想定义一个这样的类:

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);
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM