【问题标题】:I don't understand private variables?我不明白私有变量?
【发布时间】:2015-08-06 03:22:57
【问题描述】:

代码没有任何问题,但我不明白为什么你必须创建一个私有字符串name,然后将该字符串与方法中的字符串相等,即name = n

public class Person {
    private String name;

    public Person (String n) {
        name = n;
    }

    public String getName() {
        return name;
    }

    public boolean sameName(Person other) {
        return getName().equals(getName());
    }
}

【问题讨论】:

  • namePerson 类的成员变量。见Declaring Member Variables
  • 如果您不将一个人的名字存储在某个地方,您将如何“记住”它?
  • 您是在问我们您是否不了解私有变量?
  • 你会怎么做阿迪?这个问题听起来您粘贴的代码与您的想法有点不同。如果唯一的问题是:“为什么变量是私有的”,那么 Jesper 的链接中描述了答案(主要原因是 封装 - 你可以谷歌)

标签: java private


【解决方案1】:

不能从类外部访问私有变量,只能通过类内部的方法访问,这样更安全

【讨论】:

  • 所以用这行名称 = n;我们在类中引入了私有变量?
  • @ArdiMehmeti 不,你可以用这条线:private String name;
  • 不能从其他类访问像“name”这样的私有变量。一旦创建了一个人对象,就不能编辑名称,但只能通过调用 getName() 方法(在这种情况下)来查看它,这可以防止将对象的内部数据设置为无效状态。检查封装。
  • 非常感谢 @Chris 真的帮助了我。
猜你喜欢
  • 1970-01-01
  • 2019-04-21
  • 2011-04-04
  • 1970-01-01
  • 2013-09-06
  • 1970-01-01
  • 1970-01-01
  • 2021-12-21
相关资源
最近更新 更多