Java 创建创建数组的类
我正试图创建一个类,为一个项目创建数组,我一直在拼命研究如何做到这一点Java 创建创建数组的类,java,arrays,class,private,upcasting,Java,Arrays,Class,Private,Upcasting,我正试图创建一个类,为一个项目创建数组,我一直在拼命研究如何做到这一点 public class Team { private Object arr; void createTeam(){ String[] arr = new String[15]; } } 使用new创建阵列后,如果需要,请将其分配给arr参考 想在Team类中使用arr public class Team { private String[] arr;
public class Team {
private Object arr;
void createTeam(){
String[] arr = new String[15];
}
}
使用
new
创建阵列后,如果需要,请将其分配给arr
参考
想在Team
类中使用arr
public class Team {
private String[] arr;
void createTeam() {
arr = new String[15];
}
}
,如果要从另一个类调用createTeam
,并使用
public class Team {
public static String[] createTeam() {
return new String[15];
}
}
其他类的用法
String[] arr = Team.createTeam();
让我澄清一下术语——这个类包含一个或多个方法;我认为您需要一个方法来在调用时创建数组 如果在创建数组后将其返回给调用者,则最有用;因为您不止一次地提到过这样做,所以来电者可以根据自己的意愿多次这样做:
public class Team {
pubilc String[] createTeam() {
String[] arr = new String[15];
return arr;
}
}
现在,其他一些代码可以做到这一点:
...
Team team = new Team();
String[] teamArray = team.createTeam();
teamArray已经创建并返回给调用者,无论它想要它做什么。请注意,在这种情况下,一旦
createTeam()
方法返回,团队对象中就不存在团队变量的副本。实际上,如果您想从另一个类访问新创建的数组,您根本无法访问,因为字符串[]是私有属性,而包范围的方法返回的是空值
如果只需要为其他类创建字符串[],则不需要属性“arr”,还可以重载方法以创建所需大小的数组:
public class Team {
public static String[] createTeam(){ return new String[15]; }
public static String[] createTeam(int n){ return new String[n]; }
}
如果需要字符串[]在“Team”类中进行进一步操作,则应将其保持为私有,并使用getter从其他类访问它:
public class Team {
private String[] arr;
public void createTeam(){ this.arr = new String[15]; }
public String[] getArr() { return arr; }
}
如果您试图将字符串[]强制转换到arr属性中,则您的方法无法工作,因为Java将方法中的字符串[]arr视为局部变量而不是类属性,那么您应该在arr之前删除“String[]”。当您执行此操作时,您可以使用默认值
Arrays.fill(arr,“deault value”)初始化数组代码>为什么私有对象arr代码>和非私有字符串[]arr代码>?作为工厂方法,您可能希望使其保持静态,我绝对愿意;我没有在这个答案中提到它,因为OP在这方面似乎是新的,“静态”的概念是他们需要理解的另一件事。