如何使用另一个类的合成来设置 Name



我这里有一些代码。我正在尝试使用一个类来引用另一个类,以便我可以获取该人的名字。我希望主类中的第一个名称正常工作,但 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 方法。可以避免在子类中声明那些。

最新更新