编译错误:包[CarFeatures]不存在

时间:2014-10-03 13:05:53

标签: java swing

我正在开发一款汽车应用程序,可选择JCheckBox选择汽车功能,约有JCheckBox

由于这是一个数据库应用程序,我需要在数据库超时中获取并设置选中的复选框。

在Stack Overflow上我发现这个问题与我的要求类似,但在我的情况下这不起作用https://stackoverflow.com/a/19246403/4099884

我正在添加这样的复选框:

package haams;

import java.util.List;
import java.util.ArrayList;

public final class HAAMS {

    JCheckBox AirConditioner = new JCheckBox();;
    JCheckBox ClimateControl = new JCheckBox();;
    JCheckBox AntiLockBrakes = new JCheckBox();;

    List<JCheckBox> CarFeatures = new ArrayList<JCheckBox>();

    CarFeatures.add(AirConditioner);  //Error: Package CarFeatures does not exists
    CarFeatures.add(ClimateControl);  //Error: Package CarFeatures does not exists
    CarFeatures.add(AntiLockBrakes);  //Error: Package CarFeatures does not exists

    public static void main(String[] args) {}
}

为什么说包CarFeatures不存在?我做错了什么?

2 个答案:

答案 0 :(得分:2)

这些行:

CarFeatures.add(AirConditioner);  //Error: Package CarFeatures does not exists
CarFeatures.add(ClimateControl);  //Error: Package CarFeatures does not exists
CarFeatures.add(AntiLockBrakes);  //Error: Package CarFeatures does not exists

需要在方法或静态初始化器中。也许添加构造函数或main方法并将代码放在那里。

您还应该使用camelCase作为变量名称。所以carFeatures将是正确的选择。

答案 1 :(得分:1)

问题在于,您的所有代码甚至不会导致编译错误。另一方面,方法调用应该在方法/构造函数上下文中完成。这些行:

CarFeatures.add(AirConditioner);
CarFeatures.add(ClimateControl);
CarFeatures.add(AntiLockBrakes);

必须包含在类构造函数或其他方法中:

public MyClass() {
    CarFeatures.add(AirConditioner);
    CarFeatures.add(ClimateControl);
    CarFeatures.add(AntiLockBrakes);
}

// or

private void addCarsFeatures() {
    CarFeatures.add(AirConditioner);
    CarFeatures.add(ClimateControl);
    CarFeatures.add(AntiLockBrakes);
}