2017-11-25 141 views
0
String model; 
int year; 
enum Color {GREEN, BLUE, RED}; 
double price;  

颜色色调;将ENUM类型指定给构造函数

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

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

可以这样做吗?当我用主要方法实际制作对象时仍然出现错误。

+0

不,你没有。这不知道枚举的工作。你已经声明了一个类型,你没有定义一个实例。 – Ivan

+0

嘿,那我该怎么做? –

回答

1

此语法: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; 
    } 
} 
+0

哦,明白了!问题修复非常感谢:) –

+0

@DannyBorisOv如果这个答案解决了你的问题,你可以考虑接受它来奖励回答者,让未来的访问者知道正确的答案是什么。 –

0
enum Color {GREEN, BLUE, RED} ; 

public class Car{ 

    String m_model; 
    int m_year; 
    Color m_color; 
    double m_price; 

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

     this.m_model = model; 
     this.m_year = year; 
     this.m_color = shade; 
     this.m_price = price; 

     System.out.println("A new Car has been created!"); 
    } 


    static public void main(String[] args) 
    { 

     Car car = new Car("Ferrari", 2017, Color.RED, 350000); 
    } 
} 
相关问题