将值传递给Construtor

the*_*ava 0 java

package org.apache.wicket.examples.guestbook;

import java.util.Date;  
import org.apache.wicket.IClusterable;

public class Comment implements IClusterable {
    private String text;
    private Date date = new Date();

    public Comment() {
    }

    public Comment(final Comment comment) {
        this.text = comment.text;
        this.date = comment.date;
    }

    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    public String toString() {
        return "[Comment date = " + date + ", text = " + text + "]";
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么其他的建设者在这里做?为什么Comment comment声明为final

Boz*_*zho 6

final有你的情况是可选的.在某些项目/公司中,有一条规则,即所有方法和构造函数参数都被声明为final.

这个想法是你不应该给comment变量另一个值.

关于第一个问题("为什么其他的construtor在这里?"):这个构造函数是一个所谓的"复制构造函数".它获取现有注释并创建具有相同内容的新实例.