gpt4 book ai didi

java - 在类中声明方法的首选方式

转载 作者:搜寻专家 更新时间:2023-10-31 08:24:09 24 4
gpt4 key购买 nike

我对类中用于设置信息的方法创建有疑问。

  1. 创建单独的方法来设置每个属性

    class Address{
    private String name;
    private String city;

    public setName(String name) { ... }
    public setCity(String name) { ... }
    }
  2. 创建用于设置所有属性的单一方法

    class Address{
    private String name;
    private String city;

    public setAddress(String name,String city) { ... }
    }

从以上两种方式来看,哪种方式在内存方面更可取?

最佳答案

通常的做法是使用JavaBean风格

class Address {
private String name;
private String city;

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

public String getName() {
return name;
}

public setCity(String city){
this.city = city;
}

public getCity() {
return city;
}

另一种与您的第二种方法非常相似的常见做法是创建不可变对象(immutable对象)。参数传递给构造函数而不是大设置方法。

class Address {
private final String name;
private final String city;

public Address(String name, String city) {
this.name = name;
this.city = city;
}

public String getName() {
return name;
}

public getCity() {
return city;
}
}

从内存的角度来看,不同之处在于第二个示例是在构造函数中设置所有属性,并且所有这些属性都是不可变的。通常,以这种方式构造的对象在被多线程使用时更安全。

在第二个例子中,不需要同步。当多个线程使用标准 JavaBean 对象时,您需要处理同步/内存问题。

关于java - 在类中声明方法的首选方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7245648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com