Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java新手,尝试使用Date作为属性_Java_Date_Constructor_Arguments - Fatal编程技术网

Java新手,尝试使用Date作为属性

Java新手,尝试使用Date作为属性,java,date,constructor,arguments,Java,Date,Constructor,Arguments,我对Java完全陌生,我正在尝试创建一个名为Message的简单类来打印简单的文本消息 当我尝试在主代码中使用该类时,当我包含日期时,它总是出错。当我把日期从构造器中去掉时,它工作得很好 到目前为止,我得到的是: import java.util.Date; public class Message { private String sender; private Date curdate; private String message; // constr

我对Java完全陌生,我正在尝试创建一个名为Message的简单类来打印简单的文本消息

当我尝试在主代码中使用该类时,当我包含日期时,它总是出错。当我把日期从构造器中去掉时,它工作得很好

到目前为止,我得到的是:

import java.util.Date;

public class Message {

    private String sender;
    private Date curdate;
    private String message;

    // constructor when empty
    public Message() {
        sender = "unknown";
        curdate = curdate;
        message = "unknown";

    }

    // constructor with 3 values
    public Message(String s, Date d, String m) {
        sender = s;
        curdate = d;
        message = m;
    }

    public String getSender() {
        return sender;
    }

    public void setSender(String s) {
        this.sender = s;
    }

    public Date getDate() {
        return curdate;
    }

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

    public String getMessage() {
        return message;
    }

    public void setMessage(String m) {
        this.message = m;
    }

    public String toString() {
        return sender + " " + curdate + " " + message;
    }

}

您的空构造函数是错误的

public Message() {
    sender = "unknown";
    // curdate = curdate; /* curdate = {undefined} */
    curdate = new Date();
    message = "unknown";
}

您应该理解java对象和引用之间的区别

私人日期#这只是一个java参考

您没有将任何日期对象指定给curdate引用

请指定curdate=新日期()


你能发布你的
main
方法代码吗?构造函数在一行中看起来很奇怪:curdate=curdate。。需要分配给null。还有,你的错误是什么?我建议多做一些研究。就像甲骨文的免费服务一样。还有奥莱利的书。我知道我的问题有点模糊,但这确实起了作用。谢谢只要找出在main-as属性中使用它时需要使用的格式。(例如
messagetestmessage=newmessage(“Bob”,19-01-2014,“Test”);
不起作用。