如何访问类外的私有数据成员?

时间:2014-04-03 06:02:47

标签: java

我正在尝试访问外部类之外的内部类的私有数据成员。

请帮帮我?

4 个答案:

答案 0 :(得分:2)

你不是 - 这是私有的全部意义。

内部类可以通过属性公开数据,当然:

public class Outer {
    public class Inner {
        private final String name;

        public Inner(String name) {
            this.name = name;
        }

        public String getName() {
            return name;
        }
    }
}

public class Other {
    public void foo() {
        Outer outer = new Outer();
        Outer.Inner inner = outer.new Inner("Foo");
        // Can't access inner.name here...
        System.out.println(inner.getName()); // But can call getName
    }
}

...但是如果内部类想要将其保密,那么不应该尝试访问它。

答案 1 :(得分:1)

在内部类中为私有变量创建公共getter setter方法。然后创建一个对象并调用它们来访问私有数据。您无法直接访问私人数据。

答案 2 :(得分:0)

您无法访问私人数据。如果您有其他想法访问它,请使用公共getter方法返回该私有数据。

答案 3 :(得分:0)

您可以使用getter方法ex

访问私有数据成员
package pack;

import java.io.ObjectInputStream.GetField;

public class abc {
    private int num = 2;

    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }

}

class otherClass {
    public static void main(String[] args) {
        abc obj = new abc();
        System.out.println(obj.getNum());
    }
}