java - 将 ENUM 类型分配给构造函数

标签 java enums constructor

String model;
int year;
enum Color {GREEN, BLUE, RED}; 
double price;     

颜色深浅;

public Car(String model, int year, Color shade, double price) {

    this.model = model;
    this.year = year; 
    this.shade= shade;
    this.price = price;
}

这样可以吗?当我实际使用 main 方法创建对象时仍然给出错误。

最佳答案

此语法:this.Color = shade; 引用 Car 类中名为 Color 的实例字段。 但 Car 类中没有任何 Color 字段。

这个:

enum Color {GREEN, BLUE, RED};

是枚举类声明。

只需在 Car 中引入一个字段即可为其分配Color:

public class Car {
    String model;
    int year;
    Color color;
...
    public Car(String model, int year, Color shade, double price) {
      this.model = model;
      this.year = year;
      this.color = shade;
      this.price = price;
    }
}

关于java - 将 ENUM 类型分配给构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47486100/

相关文章:

java - 如何在 Android 上将我自己的方法与 HttpURLConnection 对象一起使用?

java - JAX-RS:每个资源的选项

java - 大九片拉伸(stretch)

ios - 在结构中获取与另一个关联的值的快捷方式

java - 当检测到类扩展了 Enum 时,如何调用其 valueOf() 方法?

oop - 在 Fortran 中分配和构造多态对象的规范方法是什么?

c++ - 构造函数、析构函数和指针(以及 vector 和数组以及删除等等)

java - 除 double 时可能出现的错误

c++ - 创建独立于构造函数参数的对象指针

java - 将引用值添加到 Enum