java - 将值传递给构造函数

标签 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 + "]";
    }
}

为什么另一个构造函数在这里做? 为什么Comment评论被声明为final

最佳答案

根据您的情况,final 是可选的。在一些项目/公司中,有这样的规则:所有方法和构造函数参数都声明为最终的。

这个想法是您不应该能够为 comment 变量提供另一个值。

关于第一个问题(“为什么另一个构造函数在这里做?”):这个构造函数是所谓的“复制构造函数”。它获取现有评论并创建具有相同内容的新实例。

关于java - 将值传递给构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4497358/

相关文章:

java - 了解 'Element'和 'TypeMirror'在 `UnmodifiableCollection`中的角色

java - swt 或 jface 代码来创建文本编辑器和 Canvas

java - 集成加载器和回收器 View 不起作用

java - 项目名称必须是...问题

java - 从数字字符串更改为日期字符串?

java - World Wind Java 无法检索 WMS 资源

java - 将日历添加到 JSF 页面

java - 在创建时旋转 Sprite 。

Java类可以编译但无法加载

java - DynamoDB 类型不匹配 : cannot convert from CreateTableResult to Table