好的,所以在我的班级图上显示
void setVegetable( String veg[] )
String veg[] getVegetables()
只是想知道我将如何为此声明编码?
public void setVegetables( String veg[] )
{
}
我也将如何编写实例变量?
我仍然把它写成
private string vegetables = "";
答案 0 :(得分:3)
简单的答案是使用这样的成员定义:
private String[] vegetables;
像这样的二传手:
public void setVegetables( String veg[] ) {
vegetables = veg;
}
但是你应该记住,数组是可修改的,这意味着如果像上面描述的setter一样直接存储数组,调用者仍然可以修改数组的内容,因此复制数组是一个好习惯内容,如果你想要更好的封装。虽然如果操纵大型数组,这会对性能产生影响。 在这种情况下,setter和getter将如下所示
public void setVegetables( String veg[] ) {
vegetables = Arrays.copyOf(veg, veg.length);
}
public String[] getVegetables() {
return Arrays.copyOf(vegetables, vegetables.length);
}
答案 1 :(得分:0)
你需要像
这样的东西private String[] vegetables;
和setter方法
public void setVegetables( String[] veg ) { this.vegetables = veg; )
或遭遇编译错误 - String
的数组不与String
相同。
答案 2 :(得分:0)
我会更改变量:
private String vegetables;
到一个数组:
private String vegetables[];
然后通常使用setter和getter方法设置并获取实例数组。
答案 3 :(得分:0)
应该是这样的:
public void setVegetables( String[] veg ) { }
答案 4 :(得分:0)
初始化时,您可以为本地变量赋值:
private String[] vegetables = new String[]{"Carrot", "Parsnip"};
答案 5 :(得分:0)
根据您的类图,您正在查看的实例变量是一个String数组。因此实例成员也必须是String []。 声明应该像
private String[] vegetables;
public void setVegetables( String vegetables[] ) {
this.vegetables = vegetables;
}
public String[] getVegetables() {
return vegetables;
}