将ENUM类型分配给构造函数

时间:2017-11-25 12:42:19

标签: 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方法实际创建对象时仍然会出错。

1 个答案:

答案 0 :(得分:1)

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

这:

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;
    }
}