2013-10-14 6 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

추상 클래스 내에 생성자를 가질 수 있지만 추상 클래스의 객체를 생성 할 수는 없습니다.

관련 문제