情境感知内在的安全性

时间:2017-06-13 04:58:51

标签: java

我想问一下内部类在外部类中使用自己的引用的安全性。

以下是例子:

public class OuterClass {

    InnerClass Foo1;
    InnerClass Foo2;
    static OuterClass outer;

    public static void main(String[] args) {
        outer = new OuterClass();
        outer.test();
    }

    public void test() {
        Foo1 = new InnerClass();
        Foo2 = new InnerClass();
        Foo1.printfoo();
        Foo2.printfoo();
    }

    private class InnerClass {

        String foo;

        public InnerClass() {
        }

        private void printfoo() {
            if(OuterClass.this.Foo1.equals(this)){
                foo = "foo1";
            }
            if(OuterClass.this.Foo2.equals(this)) {
                foo = "foo2";
            }
            System.out.println(foo);
        }
    }
}

所以,这是我的问题,这样安全吗?和/或有更好的方法吗?

这里的目标是使用正确的值初始化内部类的字段,以便在外部类中使用它,而外部类不需要向内部类提供任何信息。

0 个答案:

没有答案