android总是为getter方法得到0值

时间:2014-11-08 07:39:58

标签: android integer

public void setMessageId(int messageId) {
        System.out.println("SET MESSGE ID>>>::"+messageId);//23
        this.messageId = messageId;
        System.out.println("SET MESSGE ID>>>::"+this.messageId);//23
    }

我在设置消息中获得了适当的价值

但是没有在这里得到价值.... //得到0;

public int getMessageId() {
        System.out.println("GET MESSGE ID>>>::"+messageId);

        return messageId;
    }

1 个答案:

答案 0 :(得分:1)

如果我创建一个包含Message字段的简单类,则您必须访问static的不同实例(或您的字段为int messageId

static class Message {
    public Message(int messageId) {
        setMessageId(messageId);
    }

    private int messageId;

    public void setMessageId(int messageId) {
        System.out.println("SET MESSGE ID>>>::" + messageId);// 23
        this.messageId = messageId;
        System.out.println("SET MESSGE ID>>>::" + this.messageId);// 23
    }

    public int getMessageId() {
        System.out.println("GET MESSGE ID>>>::" + messageId);
        return messageId;
    }
}

然后运行它

public static void main(String[] args) {
    Message m = new Message(23);
    System.out.println(m.getMessageId());
}

我得到了预期的messageId

SET MESSGE ID>>>::23
SET MESSGE ID>>>::23
GET MESSGE ID>>>::23
23