我正在尝试创建一个为项目创建数组的类,这意味着我一直在谋杀自己,如何做到这一点
public class Team {
private Object arr;
void createTeam(){
String[] arr = new String[15];
}
}
仅在使用new
创建数组后,将其分配给arr
引用要使用arr
类中的Team
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();
让我弄清楚一些术语-class包含一个或多个methods;我认为您需要一种在调用时创建数组的方法。
如果在创建数组之后将其返回给调用者,这将是最有用的;由于您不止一次地谈论此操作,因此调用方可以根据需要多次执行此操作:
public class Team {
pubilc String[] createTeam() {
String[] arr = new String[15];
return arr;
}
}
现在其他一些代码可以做到这一点:
...
Team team = new Team();
String[] teamArray = team.createTeam();
和teamArray已创建,并返回给调用方任何所需的内容。请注意,在这种情况下,一旦createTeam()
方法返回,Team对象中就不会存在team变量的副本。
实际上,如果您想从另一个类访问新创建的数组,则根本无法,因为您的String []是一个私有属性,并且您的包范围方法确实返回一个void。
[如果只需要为其他类创建String [],则不需要属性“ arr”,也可以重载方法以创建所需大小的数组:
public class Team {
public static String[] createTeam(){ return new String[15]; }
public static String[] createTeam(int n){ return new String[n]; }
}
如果您需要String []在“ Team”类中进行进一步的操作,则应将其保留为私有,并使用getter从其他类中进行访问:
public class Team {
private String[] arr;
public void createTeam(){ this.arr = new String[15]; }
public String[] getArr() { return arr; }
}
如果您尝试将String []转换为arr属性,则您的方法无效,因为Java将方法中的String [] arr视为本地变量而不是类属性,则应删除“ String []“到达之前。