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大神给出的解决方案
Java没有“实例”专用访问修饰符,即。您只能在其中限制对this
实例的字段/方法的访问。
而且您可能不需要一个。您正在上Person
课。你是开发商。您需要对自己隐藏什么?
我有以下JSP:<%@ page import="foo.*" %> <html> <body> The page count is: <%=Counter.getCount()%> </body> </html> 我在包Counter中有一个foo类,该类存储在: …
Java日期格式解析 - java我正在尝试通过JSON响应更改日期格式,但我一直在获取java.text.ParseException。这是来自服务器2015-02-03T08:37:38.000Z的日期,我希望它显示为2015/02/03这是yyyy-MM-dd。而我做到了。DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd…
快速解析来自http://bit.ly链接的方法 - java给定来自流的一系列URL,其中可能有数百万个bit.ly,google或tinyurl缩短了链接,那么解析这些URL以获得最终URL的最可扩展的方法是什么?一个多线程爬虫在每个短链接上执行HEAD请求,同时缓存已经解决的请求?是否已经有提供此服务的服务?还要考虑到不会被url缩短服务阻止。假设规模是每天缩短2000万个网址。 java大神给出的解决方案 Go…
bulit-in gradle插件的版本号是多少? - java在我的gradle构建文件中,我有以下插件块plugins { `java-library` jacoco checkstyle } 这些都没有指定版本,但是一切正常。假定一个项目正在使用gradle 6.0和gradle包装器,但是系统已安装gradle 5.0。问题:如果我运行gradle wrapper ./gradlew build,将会执行grad…
重用代码循环遍历多维数组 - java假设我有一个多维数组作为类的成员和许多方法,它们遍历数组的每个元素然后对其进行操作。代码可能看起来像这样:public class Baz { private Foo[][] fooArray = new Foo[100][100]; public Baz() { for (int i = 0; i < fooArray.length; i++) { …