【问题标题】:How do I set this object's value? (Java 14)如何设置此对象的值? (Java 14)
【发布时间】:2020-07-01 14:23:06
【问题描述】:

我是第一次学习Java,在我正在看的教程(https://www.youtube.com/watch?v=grEKMHGYyns)中,老师写了这段代码:

    private Name personName;

    public Person(Name personName){
        this.personName = personName;
    }

有谁知道构造函数类'Name'的对象'personName'是做什么的?

如何使用“Name”类的构造函数“Name”将值设置为“personName”?

我会向您展示“名称”的代码,但我不知道如何设置它以使“名称”的对象保持任何值。

感谢您的帮助!

【问题讨论】:

  • 你知道java中如何调用构造函数和方法吗?
  • @OHGODSPIDERS 要在 java 中调用构造函数,您需要创建两个类,一个名为 Car,在该类内部,还有另一个名为 Car 的方法。这是您的构造方法,每当您调用该类或创建该类的对象时,都会访问它,因此您编写类的每个对象都需要的代码。调用一个类的方法要简单得多,你只需要创建一个类的新对象,例如 Car audi = new Car(empty parameters if you don't need any parameters for your constructor);,然后,你可以通过 Car.method() 访问方法。
  • 我不是测试你的老师。你完全没有必要写那段,我怀疑你没有大量复制和粘贴。我问这个问题是为了更好地了解您的困惑所在,因此能够更好地回答。我一直在寻找一个简单的是/否。
  • 哦,很抱歉,我以为您也是 Java 新手,并问我一个问题来学习新知识。但是,是的,我确实知道如何在 Java 中调用构造函数和方法。再次抱歉!

标签: java class oop constructor


【解决方案1】:

Name 可以是任何东西。我还没有看过视频(哇,它很长),但在这种情况下,我猜它可能包含该人姓名的 String 值。

根据给定的信息,我假设该类可能如下所示:

public class Name {
    private final String name;

    public Name(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

然后要实例化您的Person,您首先需要一个Name 的实例:

Name name = new Name("AnyName");

这样你就可以创建一个新的Person

Person person = new Person(name);

【讨论】:

  • 好答案。将Name 显示为比单纯的字符串更有用可能会更有用,可能有两个成员字段:givenNamesurname(美国人称为名字和姓氏)。
  • 非常感谢您的回答!我注意到有了这个新的 Name 类,它就不再需要 Person 类了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多