private
中的Java
提供类级别的封装。可以封装一个对象吗?还是这样做徒劳?
例如,如果我们将一个类定义为
public class Person {
private String ssn;
private ArrayList<Person> friends = new ArrayList<Person>();
public void addFriend (Person stranger) {
friends.add(stranger);
// but here I have access to her ssn
System.out.println(stranger.ssn);
}
}
当我要求将
ssn
的对象作为参数传递给它时,如何屏蔽上面方法stranger
中对addFriend()
的stranger
的访问? 最佳答案
Java没有“实例”专用访问修饰符,即。您只能在其中限制对this
实例的字段/方法的访问。
而且您可能不需要一个。您正在上Person
课。你是开发商。您需要对自己隐藏什么?