作者tzuyy (..)
看板java
标题Re: [问题] 建构子的引数可以是物件吗?
时间Thu Dec 28 19:56:59 2006
※ 引述《paoching (遍地寒霜醉红尘)》之铭言:
: 有可能是你z宣告的scope错了....
: 你试试看在Student x = new Student(z);上一行宣告一下z
: : ----
: 最好还是有code才好帮你看....
小弟在上一行先宣告Department z = new Department();就可以编译了。
谢谢各位大大的帮忙。但是我小弟又延生出另一个新的问题,
如果x和z物件互相参考的话怎麽办?orz....
在MainClass.java这样写:
public class MainClass {
public static void main(String[] args) {
Department z = new Department(x);
Student x = new Student(z);
}
}
在Student.java这样写:
public class Student {
private Department major;
public Student(Department m){
this.setDepartment(m);
}
public Department getDepartment(){
return major;
}
public void setDepartment(Department m){
major = m;
}
}
在Department.java这样写:
public class Department {
private Student studentname;
public Department(Student s){
this.setDepartment(s);
}
public Student getDepartment(){
return studentname;
}
public void setDepartment(Student s){
studentname = s;
}
}
小弟想到的方法是这样子的,
在Student类别先增一个建构子,
public Student(){};
然後在MainClass类别先宣告一个x物件,使z可以顺利建立,
然後再让x的major属性参考到z物件。
public class Student {
private Department major;
public Student(){};
public Student(Department m){
this.setDepartment(m);
}
public Department getDepartment(){
return major;
}
public void setDepartment(Department m){
major = m;
}
}
public class MainClass {
public static void main(String[] args) {
Student x = new Student();
Department z = new Department(x);
x.setDepartment(z);
}
}
想请问各位大大有其它的方法吗?谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.58.254.254