我正在開發一個項目(昨天我遇到了問題,很多人幫助了我!),所以我決定再次尋求幫助。Java - 在對象中使用對象
我的代碼有3個類。 ProjectMain,學生,課堂。我創建了一個Classroom對象數組。現在我有3個Classroom對象。但我必須將學生對象分配給這些Classroom對象。例如:classarray [0]是來自Classroom類和studentobject.get(0)的一個對象,studentobject.get(1)...將成爲classarray [0]對象內的學生對象。但在編碼時我沒有做到這一點。這裏是我的課:
public class Classroom
{
private String classname;
private String word[] = null;
protected ArrayList<Students> studentobject = new ArrayList<Students>(10);
public String[] getWord()
{
return word;
}
public void setWord(String[] word)
{
this.word = word;
}
public ArrayList<Students> getStudentobject()
{
return studentobject;
}
public void setStudentobject(ArrayList<Students> studentobject)
{
this.studentobject = studentobject;
}
public String getClassname()
{
return classname;
}
public void setClassname(String classname)
{
this.classname = classname;
}
public void classroomreader(String filename)
{
// This method gets the name of Classroom
File text = new File("C:/Users/Lab/Desktop/classlists/" + filename
+ ".txt");
Scanner scan;
try
{
scan = new Scanner(text);
String line = scan.nextLine();
word = line.split("\t");
line = scan.nextLine();
word = line.split("\t");
} catch (FileNotFoundException e1)
{
e1.printStackTrace();
}
}
}
這是我的學生類:
public class Students extends Classroom
{
private String name,id;
private int age;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getId()
{
return id;
}
public void setId(String id)
{
this.id = id;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
我的主類:
public class ProjectMain
{
public static void main(String[] args)
{
Classroom[] classarray = new Classroom[3];
//I got 3 Classroom objects here
classarray[0]=new Classroom();
classarray[1]=new Classroom();
classarray[2]=new Classroom();
classarray[0].classroomreader("class1");
classarray[0].studentobject.get(0).setName(classarray[0].getWord()[1]);
//The problem is in here. When my code comes to the line above,
// at java.util.ArrayList.rangeCheck(Unknown Source) error comes out.
// I tried to get first object in studentobject Arraylist, and tried to set it's name
// to the variable which my text reader reads.
我怎麼能寫什麼我在我的腦海?
studentobject.get()不引用任何東西。你有一個叫做getstudentobject()的方法 – 2014-10-30 21:37:56
你有'學生擴展課堂' - 我不認爲「學生」是一種「課堂」。 – khelwood 2014-10-30 21:40:46
我讀過'Is-a'(擴展)'Has-a'(引用)關係和繼承。它有助於大聲說出來。 「學生是教室」是否有意義?它不應該是「教室有一個學生」嗎? – 2014-10-30 21:42:59