在java中引用

时间:2018-01-30 21:53:01

标签: java this

我希望代码输出"正在测试..."但它只是输出"测试"。我想用这个。参考

public class Message {
    public String message;

    public Message(String string) {
        message = string;
    }

    public void printMessage() {
        System.out.println(message);
    }   

    public Message append(String string) {
        this.message = this.message.concat(string);
        Message updatem = new Message(message);
        return updatem;
    }

    public static void main(String[] args) {
        Message m = new Message("test");
        m.append(" in").append(" progress").append(" ... ");
        m.printMessage();
    }
}

1 个答案:

答案 0 :(得分:1)

由于append会返回一个新的Message对象,您需要执行tsolakp所述:

m = m.append(" in").append(" progress").append(" ... ");

或将append方法更改为返回实例:

public Message append(String string) {
    this.message = this.message.concat(string);
    return this; // return this instance
}