0
我有一個類有11個變量,需要使用用戶提供的輸入來設置。這個類有以下構造函數和方法:在Java的構造函數中使用設置方法設置數據?
public class Sample {
int id;
Date date;
String location;
int sampleNum;
(...)
String[] keywords;
public Sample()
{
keywords = new String[5];
setData();
}
public void setData()
{
location = JOptionPane.showInputDialog("");
sampleNumber = Integer.parseInt(JOptionPane.showInputDialog(""));
....
....
....
....
}
這是因爲我有這樣的方法的另一個類:
public class SamplesList {
Sample sample;
boolean inUse;
SamplesList next; //next element in SamplesList
SamplesList prev; //previous element in SamplesList
public SamplesList(){
inUse = false;
next = null;
prev = null;
}
public void setSamples()
{
int sampleNum = Integer.parseInt(JOptionPane.showInputDialog(""));
for (int i = 1; i <= sampleNum; i++)
{
JOptionPane.showMessageDialog(null, "Data #"+i);
this.add(new Sample());
//assuming SamplesList has a method add() that works exactly like an ArrayList.
}
}
我需要創建我需要通過輸入設置樣本並添加到列表中。但是,當我打電話給主要的一切。
public static void main (String args[])
{
SamplesList sL = new SamplesList();
sL.setSamples();
}
sampleList因爲如果他們沒有被設置,已經添加了所需的列表,但與每一個變量元素的適量。
你能推薦我一些東西嗎?我知道在構造函數中使用方法是個壞主意D:
大約一個小時前你不問這個問題嗎?你爲什麼要重新發帖? – EJK 2014-12-05 00:37:55
因爲我給出的解釋不正確,所以我在發佈之後像7分鐘那樣刪除了舊的那個。 – RedSkull 2014-12-05 00:42:14
確保一個類具有儘可能少的依賴關係是很好的設計。在你的發佈代碼中,你的類依賴Gui來設置它的值。班級根本不需要知道gui。相反,將值作爲參數傳遞給構造函數或設置其成員變量的類方法。 – 2014-12-05 00:46:50