2014-01-09 57 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; 
} 

此外,调用同样的方法多次将覆盖对象的成员值。