我需要将存储在我的第一个类构造函数中的默认值分配给第二个类构造函数
下面显示我的第二个类,我调用Guest
类构造函数的默认值。
public class AuditoriumSeating {
Guest[][] seating;
public AuditoriumSeating(int rowNum, int columnNum) {
seating = new Guest[rowNum][columnNum];
Guest c;
for ( int i=0; i < rowNum; i++ ) {
for( int j=0; j < columnNum; j++ ) {
seating[i][j] = ;
}
}
}
}
但问题是我无法弄清楚要分配seating[i][j]
的内容,因此我可以为此数组seating[][]
分配一个我在之前的类构造函数中指定的默认构造函数值。
这是我的客户类构造函数:
public class Guest {
public String lastName;
public String firstName;
public Guest()
{
firstName="???";
lastName="???";
}
}
答案 0 :(得分:0)
Guest
应该指定您认为最好的默认值,可能是null
:
public Guest() {
firstName = null;
lastName = null;
}
你的代码创建它:
seating[i][j] = new Guest();
<强>但是强>:
Guest
应该提供一个接受初始值的构造函数,将它们作为参数赋值
public Guest(String _firstName, String _lastName) {
firstName = _firstName;
lastName = _lastName;
}
Guest
&#39; firstName
和lastName
可能不应该public
;相反,使它们private
并使用访问器功能。意见可能会有所不同,但它是Java中压倒性的惯例,并且不用担心,JVM 非常善于使这些访问者高效。
(主观)意见各不相同,但我发现当引用实例成员有助于避免变量,参数和实例成员之间的混淆时,总是明确地使用this
:
public Guest(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
但是,这仍然是一种意见和风格问题。