私有成员是在类级别还是对象级别访问的。如果是在对象级别,则以下代码不应该编译。
请确认在 sub 的 messWithI() 方法中访问 obj 的第 i 个成员是否有效。
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 个成员是否有效。