2014-01-09 59 views
-4

我有一個方法很少(爲了簡單起見,我在這裏只添加了兩個),並且我正在使用鏈接來設置對象問題上的問題。當我使用該方法時,只有一次它工作正常,但是當我多次使用相同的方法時,它將刪除在第一個方法中輸入的數據,並且只打印輸入的最後一個數據。我想鏈接它們,因爲它們在示例中,但不覆蓋方法中的數據。我怎麼做?鏈接Java方法遊戲

class Questions { 
    String quesNum, qTitle; 
    int xPos, yPos; 

    Questions(){} 

    public Quiz questionTitle(String qN, String qT){ 
     this.quesNum = qN; 
     this.quesTitle = qT; 
     return this; 
    } 
    public Quiz questionPosition(int x, int y){ 
    this.xPos = x; 
    this.yPos = y; 
} 

Questions question; 

void setup() { 
size(600, 600); 
question = new Quesion(); 
} 
// loops 
void draw() { 
    question.questionTitle("Q1", "What is your name?") 
      .questionPosition(100, 100) 
      .questionTitle("Q2", "What is your height?") 
      .questionPosition(100, 200) 
      .questionTitle("Q3", "What is your weight?") 
      .questionPosition(100, 300); 
} 
+2

您發佈的代碼中存在馬虎的錯誤,使我們難以理解您的問題。請發佈真實的代碼。請首先檢查錯誤。 –

+2

所以你想要一些你不明白的語言有問題的美嗎?第二次調用方法(無論是否鏈接)確實定義了方法的作用:在你的情況下重置一些值... (downvote從我) –

+0

只有一個'問題'所以是你覆蓋'xPos'等你期望什麼? – 2014-01-09 19:52:51

回答

1

你忘了返回實例:

public Quiz questionPosition(int x, int y) { 
    this.xPos = x; 
    this.yPos = y; 
} 

應該是:

public Quiz questionPosition(int x, int y) { 
    this.xPos = x; 
    this.yPos = y; 
    return this; 
} 

此外,調用同樣的方法多次將覆蓋對象的成員值。