我有这样的场景,这是一个很好的实现吗?
public interface Vehicle {
// is it possible to declare array in interface?
//so it is possible and no compilation errors
Vehicle[] vehicles1 = new Vehicle[10];
}
我有这样的场景,这是一个很好的实现吗?
public interface Vehicle {
// is it possible to declare array in interface?
//so it is possible and no compilation errors
Vehicle[] vehicles1 = new Vehicle[10];
}
你这是可能的,但属性是公开的,这不是一个好的风格。getter
属性应该是私有的,并由setter
方法访问。
不,您只能在接口中声明public
方法和static final
字段(常量)。
这样的事情是可能的,但不是你想要的:
public interface Vehicle {
public static final Vehicle[] vehicles1 = new Vehicle[10];
}
我建议使用通常的get
和set
模式:
public interface Vehicle {
void setVehicles1(Vehicle[] vehicles);
Vehicle[] getVehicles1();
}
在技术上可以声明这样的字段。即使您没有明确说明,它也会是public
, static
and (这基本上使它成为一个常数)。final
这是否是一种好的做法,实际上取决于您将使用它的目的。但在大多数情况下不鼓励这样做。