0

我这里有一些代码。我正在尝试使用一个类来引用另一个类,这样我就可以获得该人的名字。我希望主类中的 firstName 能够工作,但 IDE 提到找不到该变量。将 'first' 替换为 'firstName' 有效吗?

主类:

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;
    }    
4

2 回答 2

1

将 'first' 替换为 'firstName' 有效吗?

是的。

public void setFirstName(String firstName) {
    // Trying to get this to work...
    cE.setFirstName(first);
}

firstName是此方法的局部变量,并且first未在其中定义具有名称的变量。

所以,如果你使用first,这将是编译错误。

于 2012-12-11T05:09:21.930 回答
0

基本上,您希望根据声明的变量名的名称使用 setter 和 getter 方法。因此,在您的情况下,如果主类将“名字”称为“第一”,那么最好声明 setFirst(String first) 方法。如果您想将其声明为“firstName”,那么您希望将其设置为 setFirstName (String firstName)。此外,根据您在此处展示的代码,看起来主类会将 CommissionEmployee 的实例保存为“cE”,并且它是使用一些参数创建的,您需要在主类中使用 setter 方法。可能避免声明那些在子类。

于 2012-12-11T05:34:41.343 回答