我这里有一些代码。我正在尝试使用一个类来引用另一个类,以便我可以获取该人的名字。我希望主类中的第一个名称正常工作,但 IDE 提到找不到该变量。用"名字"替换"first"会起作用吗?
主类:
public BasePlusCommissionEmployee( String first, String last,
String ssn, double sales, double rate, double salary) {
cE = new CommissionEmployee( first, last, ssn, sales, rate );
setBaseSalary( salary );
}
public void setFirstName(String firstName) {
// Trying to get this to work...
cE.setFirstName(first);
}
亚纲:
private String firstName;
public void setFirstName( String first )
{
firstName = first;
}
用"名字"替换"first"会起作用吗?
是的。
public void setFirstName(String firstName) {
// Trying to get this to work...
cE.setFirstName(first);
}
firstName
是此方法的局部变量,并且其中未定义名为 first
的变量。
因此,如果使用 first
,这将是编译错误。
基本上,您希望根据声明的变量名称使用setter和getter方法。因此,在您的情况下,如果主类将"名字"称为"first",那么最好声明 setFirst(字符串优先)方法。如果你想把它声明为'firstName',那么你会希望它被声明为setFirstName(字符串firstName)。此外,根据您在此处展示的代码,看起来主类会将 CommissionEmployee 的实例保存为"cE",并且它是使用一些参数创建的,您需要在主类中使用 setter 方法。可以避免在子类中声明那些。