在类构造函数中提供两个选项

问题描述 投票:-1回答:1
abstract class TV extends Electronics{
    private double diagonal;
    private String signal;
    private int channel;

    public TV() {}

    public TV(LocalDate productionDate, String name, int counterOnOff, boolean isOn, double diagonal, String signal, int channel) {
        super(productionDate, name, counterOnOff, isOn);
        this.diagonal= diagonal;
        this.signal= ????;
        this.channel= channel;
    }
}

????在哪里,我需要插入两个值(模拟值和数字值,不完全是在其中,创建对象时,我只需要从两个选项中选择)。我不知道如何在构造函数中实现两个选项。

我试图将private String signal设置为数组,但它要求(应有)两个数组值,我需要从两个选项中进行选择。该课程还将有setter和getters。

java constructor options
1个回答
3
投票

因为您正在学习:

定义并使用枚举

public enum NewEnum {
    ANALGOG,
    DIGITAL,
    INVALID    
}

然后更改

private String signal;

private NewEnum signal;

还有构造函数:

public TV(... boolean isOn, double diagonal, NewEnum signal, int channel) {

并且请记住,对于那些可能是固定的并且属于一个共同的“组”的变量,枚举是一个很好的选择。

© www.soinside.com 2019 - 2024. All rights reserved.