2014-01-19 78 views
1

我對Java完全陌生,我試圖創建一個名爲Message的簡單類來打印簡單的文本消息。Java新手,嘗試使用Date作爲屬性

當我嘗試在我的主代碼中使用該類時,當我包含日期時它總是出錯。當我離開構造函數的日期時,它工作正常。

我已經這麼遠:

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; 
    } 

} 
+3

您可以發佈您'main'方法的代碼? – higuaro

+1

構造函數在一行中看起來很奇怪:curdate = curdate; ..需要分配給null。還有什麼是你得到的錯誤? –

+0

我建議多一點研究。與Oracle免費提供的[教程](http://docs.oracle.com/javase/tutorial/)一樣。來自O'Reilly的[Head First Java](http://shop.oreilly.com/product/9780596009205.do)書。 –

回答

1

你空的構造是錯誤的

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

我的理解是我的問題有點含糊,但這個竅門。謝謝!只需要找出什麼格式我需要使用時在我的主要屬性中使用它。 (例如'Message testmessage = new Message(「Bob」,19-01-2014,「Test」);'不起作用。 – user3212568

1

你應該明白java對象和referrence之間的差異。

私人日期curdate; #這只是一個java引用

您沒有將任何Date對象分配給curdate引用。

請指定CURDATE =新的日期()

相關問題