-1

我有这样的场景,这是一个很好的实现吗?

public interface Vehicle {
// is it possible to declare array in interface?

//so it is possible and no compilation errors

Vehicle[] vehicles1 = new Vehicle[10];


}
4

3 回答 3

0

你这是可能的,但属性是公开的,这不是一个好的风格。getter属性应该是私有的,并由setter方法访问。

于 2013-03-09T13:03:52.267 回答
0

不,您只能在接口中声明public方法和static final字段(常量)。

这样的事情是可能的,但不是你想要的:

public interface Vehicle {
    public static final Vehicle[] vehicles1 = new Vehicle[10];
}

我建议使用通常的getset模式:

public interface Vehicle {
    void setVehicles1(Vehicle[] vehicles);
    Vehicle[] getVehicles1();
}
于 2013-03-09T13:05:05.013 回答
0

在技​​术上可以声明这样的字段。即使您没有明确说明,它也会是public, staticand (这基本上使它成为一个常数)。final

这是否是一种好的做法,实际上取决于您将使用它的目的。但在大多数情况下不鼓励这样做。

于 2013-03-09T13:02:55.483 回答