在Java中为类成员分配默认值是否安全?

时间:2018-05-16 17:32:49

标签: java

这是两个类,乘客和汽车。我没有在所有构造函数中初始化Car类的所有私有成员,而是考虑为它们设置默认值,并覆盖实例创建者提供的特定成员的值。

import java.util.ArrayList;

class Passenger {
    private String name;

    Passenger(String name) {
        this.name = name;
    }
}

class Car {
    private String color = "red";
    private int numberOfWheels = 4;
    private ArrayList<Passenger> passengers = new ArrayList<Passenger>();

    Car() {}

    Car(String color) {
        this.color = color;
    }

    Car(int numberOfWheels) {
        this.numberOfWheels = numberOfWheels;
    }

    public void addPassenger(Passenger p) {
        this.passengers.add(p);
    }
}

将默认值设置为这样的类成员是否安全?任何特定数据类型(甚至除了我使用的数据类型之外)都要避免任何陷阱?

1 个答案:

答案 0 :(得分:0)

是的,这是安全的。 我个人更喜欢初始化声明在哪里是if所有构造函数的公共值。如果我有更多的构造函数不是很乐意多次写那个东西。对我来说更清楚的是什么价值。