Java 类构造函数 this.id = id 或 this.setId(id)

标签 java android class php-7

在 Android Studio 中,我创建了一个 Person.java 类。我使用Generate 创建了getter 和setter 以及构造函数。

这是我的 Person.java 类:

public class Person {
private int id;
private String firstName;
private String lastName;
private String email;

    public User(int id, String firstName, String lastName, String email) {
        this.id = id;
        this.firstName = firstName;
        this.lastName = lastName;
        this.email = email;
    }

    public void setId(int Id) {
        this.Id = Id;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

我可以/应该将构造函数更改为:

public Person(int Id, String firstName, String lastName, String email) {
    this.setId(Id);
    this.setFirstName(firstName);
    this.setLastName(lastName);
    this.setEmail(email);
}

自动生成的和我更改的哪个更好?运行时会有一些改进吗?

我对 PHP (7.4) 类有同样的问题。

提前致谢!

最佳答案

Setter方法一般用在我们需要修改字段值的时候。而我们根据对象创建时提供的参数在构造函数中初始化这些字段的值。所以我想当我们这样做时这是一个更好的做法。id = id

关于Java 类构造函数 this.id = id 或 this.setId(id),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59803593/

相关文章:

java - 如何使用 Jax-RS(Jersey) 在 Tomcat7 上运行应用程序 Hibernate 5.x、Jpa 2.1、Java EE7(javaee-api 7.0)

java - android.content.ActivityNotFoundException : No Activity found to handle Intent

Android:Sqlite - 将值从一个表移动到另一个表

java - 在类对象的构造函数中插入 Date 参数

c++ - VST C++ 嵌套类 - 构造和包含

c++ - 具有传递引用对象的类会产生编译错误

java - 正则表达式模式 : Unclosed group

java - 试图从 eclipse 启动 tomcat,但找不到 index.jsp

java - 如何通过http发送文件和参数

android - 如何在 android 中为任何新项目自动添加自定义依赖项?