2017-08-25 84 views
0

我需要將存儲在我的第一個類構造函數中的默認值分配給第二個類的構造函數 下面顯示了我從第二個類中調用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

而這並不清楚你問的是什麼。據我所知,你只需要'坐[i] [j] =新來賓(/ * ...如果需要,你可以在這裏放置參數... * /);'...? –

+0

請將您的變量設爲私有,並使用getter和setter方法訪問它們 –

回答

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; 
    } 
    
  • GuestfirstNamelastName可能不應該public一個構造;而是使它們成爲private並使用訪問器函數。意見可以有所不同,但它是Java中壓倒性的慣例,並且不用擔心,JVM是非常好的擅長使這些訪問器有效。

  • (主觀)意見不同,但我覺得總是引用實例成員時,明確使用this有助於避免變量,參數和實例成員之間的混淆:

    public Guest(String firstName, String lastName) { 
        this.firstName = firstName; 
        this.lastName = lastName; 
    } 
    

    此外,雖然,這是見仁見智的問題和風格。