我有这样的场景,这是一个很好的实现吗?声明接口内的数组对象
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];
}
在技术上可以声明这样的字段。即使你没有明确说明它,它将是public
,static
和final
(它基本上使它成为常量)。
无论这是一种好的做法还是不是真的取决于你将使用它。尽管如此,在大多数情况下,这是令人沮丧的。
你有可能,但属性是公开的,这不是一个好的风格。该属性应该是私人的,并通过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();
}
你可以声明它像'Vehicle [] vehicles1 = new Vehicle [10];'''public'' static'和'final'修饰符将被隐式添加 – 2013-03-09 13:06:00
对此不确定(因为op建议他得到编译错误)。 – 2013-03-09 13:07:22
定义存储类型实施细则之内,你应该* **不要在接口中这样做,它只涉及声明行为(不定义它)。 – Perception 2013-03-09 13:08:47