首先我们需要创建一个class:
class Student{String name
double score
String num
Student(String n,double s,String m){
name=n
s=score
num=m
}
public static void printInfo(){
System.out.println(num+","+name+","+score)
}
}
接下来我们对此类进行数组的创建:
//1Student stu[]<span style="white-space:pre"> </span>//声明数组。
stu=new Student [3]<span style="white-space:pre"> </span>//创建数组,这里是创建的一个引用的数组,每一个引用并没有确切的地址。
for(int i=0i<3i++){<span style="white-space:pre"> </span>//为数组创建对象,也就是说为创建的引用关联到确切的地址。
stu[i]=new Student()
}
//2
Student stu[]=new Student [3]
for(int i=0i<3i++){
stu[i]=new Student()
}
//3
Student stu[]=new Student{new Student(sjl,87,01),new Student(ljs,98,02),new Student(lls,92,03)}
可以用反射来做,比如有个类叫Snake Class.forName("Snake").newInstance()这样可以获得该类实例,前提是有一个无参数构造函数来支持反射有或者维护一个类名数组并根据一个创建器(工厂)来返回实例
比如classes = {"Snake","Fish"}
再写一个方法create(int classId){
switch(classId)
case 0: return new Snake()
case 1: return new Fish()
}
输入字符串BufferedReader in = new BufferedReader(new InputStreamReader(System.in))
String s = in.readLine()
for(int i= 0,n=classes.length()i<ni++){
if(classes[i].equals(s)){
create(i)
}
}
仅仅提供一些参考希望对能给你启发
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)