2013-10-14 71 views
0

我正在嘗試設置一個具有6個變量的抽象類以及該類內部的構造函數,它將爲每個新創建的對象填充這些字段。Java:抽象類中的直接構造函數

我現在已經是

public abstract class AbstractUser { 

    private String username; 
    private String password; 
    private String fullName; 
    private String email; 
    private char sex; 
    private Date birthday; 

    public AbstractUser(String username, String password, String fullName, String email, char sex, Date birthday){ 
     this.username = username; 
     this.password = password; 
     this.fullName = fullName; 
     this.email = email; 
     this.sex = sex; 
     this.birthday = birthday; 
    } 
} 

但我得到「類型AbstractUser已經被定義」的錯誤。

我想,它用數據填充從另一個具體類設置的領域裏,如

AbstractUser User1 = new AbstractUser("John", "john567", "John Evans", "[email protected]", "m", 123456789); 

是,即使可能有一個抽象類?

+1

這看起來不像您的完整代碼。請確保您的整個文件都在這裏,併發布完整的錯誤消息。不,你不能實例化'AbstractUser';這正是「抽象」的意思。 – chrylis

+0

遠不止於我的代碼中。我開始製作一個簡單的用戶管理程序。我想要做的第一件事是抽象類,它保存每個用戶所需的所有數據,因爲會有用戶類型。無論如何,一個要求是抽象類內部,我需要實現一個構造函數,它將直接填充變量,我在上面的帖子中已經說過。 – brance

+0

好的,但您發佈的代碼不會產生該錯誤。 – chrylis

回答

1

您無法初始化抽象類。你需要extend你的抽象類。

1

我們可以在抽象類中有構造函數,但是我們不能創建抽象類的對象。