我正在尝试访问外部类之外的内部类的私有数据成员。
请帮帮我?
答案 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());
}
}