是在类级别还是在对象级别的私有成员访问。如果是在对象级别,那么下面的代码不应该编译
class PrivateMember {
private int i;
public PrivateMember() {
i = 2;
}
public void printI() {
System.out.println("i is: "+i);
}
public void messWithI(PrivateMember t) {
t.i *= 2;
}
public static void main (String args[]) {
PrivateMember sub = new PrivateMember();
PrivateMember obj = new PrivateMember();
obj.printI();
sub.messWithI(obj);
obj.printI();
}
}
请说明在 sub 的 messWithI() 方法中访问 obj 的成员 i 是否有效