【问题标题】:private or no private (Maps, Sets, Lists...)私有或非私有(地图、集合、列表...)
【发布时间】:2014-02-10 23:08:17
【问题描述】:

如果您在数据字段中引入新的实例变量,则使用“私有”,如

private int age;
private String name;

但是在使用 Maps 或 Sets 等时,您通常不会使用它,例如

 HashMap<String, String> students;
 Random ran;

当您必须使用“私人”时,是否有一般规则?

【问题讨论】:

  • 如果您至少告诉我们您在说什么语言,这可能会有所帮助。
  • 我从来没有听说过这样的规则。没有修饰符意味着“包保护”,这意味着同一个包中的类可以访问它。大概其他类访问studentsran,但这与Maps、Sets 和Lists 无关。如果您显示更多上下文代码可能会有所帮助。

标签: private


【解决方案1】:

假设您使用的是 java,实例变量的类型与您是否将其设为私有无关。

如果您只想在课堂上使用某些东西而不希望在课堂外访问它,那么您可以在课堂上将其设为私有。如果没有修饰符(至少在 java 中),它是“包私有”,这意味着同一个包中的类可以访问该变量,但其他包中的类不能。

请参阅:http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html 了解更多信息(并了解受保护和公共)。

【讨论】:

    猜你喜欢
    • 2014-12-01
    • 2021-07-20
    • 2014-01-02
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多