2016-04-13 93 views
0

我想創建一個方法,結合第一個和最後一個名稱變量來創建一個fullName變量,但我一直得到null而不是全名?我沒有收到任何實際的錯誤,所以我不知道哪裏出錯了?從字符串方法獲取「null」[java]

@Override 

public String toString() { 
    return String.format("%-22s %.2f %-4s %s", fullName, gpa, major, year); 

    } 

    public void setfirstName(String firstName) { 
    this.firstName = firstName; 
    } 

    public String getfirstName() { 
    return firstName; 

    } 

    public void setlastName(String lastName) { 
    this.lastName = lastName; 
    } 

    public String getlastName() { 
    return lastName; 

    } 
public void setfullName(String fullName) { 
    fullName = (lastName + ", " + firstName); 
    } 

    public String getfullName() { 
    return fullName; 

回答

1

這裏,您的全名是以下方法中的局部變量。

public void setfullName(String fullName) { 
    fullName = (lastName + ", " + firstName); 
} 

成全它的對象和用戶this.fullname的屬性來分配全部name.Also有一個在參數傳遞到setFullName()方法是沒有意義的,因爲你在做什麼是串聯名字和姓氏。

public void setfullName() { 
    this.fullName = (lastName + ", " + firstName); 
} 

因此,您不能使用setFullName()方法,而只能使用getFullName()方法,如下所示。

public String getfullName() { 
    return lastName + ", " + firstName; 
} 
+0

我仍然'null'。我最初嘗試過getfullName方法,但它給了我null這就是爲什麼我認爲我需要setter,任何想法爲什麼它這樣做? – Inez

+0

,因爲在類中沒有名爲firstName的屬性。即使在setFullName方法中有另一個同名的變量,它是本地的。您正在分配給該局部變量。要分配類變量,請使用this.fullName。 –

+0

我很抱歉,但我很困惑,我到底在哪裏使用this.fullname?在firstName方法之一中還是在toString中? – Inez