이 내가 확장 할 필요가 외부 클래스 :자바 하위 클래스 생성자
public class Binary {
public Binary(byte type , byte[] data){
_type = type;
_data = data;
}
public byte getType(){
return _type;
}
public byte[] getData(){
return _data;
}
public int length(){
return _data.length;
}
final byte _type;
final byte[] _data;
}
을 그리고 이것은 내가 만든 서브 클래스 :
import org.bson.types.Binary;
public class NoahId extends Binary {
public NoahId(byte[] data) {
//Constructor call must be the first statement in a constructor
super((byte) 0 , data);
}
}
내가 내 모든 서브 클래스 (NoahId)를 강제 할 특정 길이의 byte [] 데이터를 가지거나 그렇지 않은 경우 Exception을 던집니다. 생성자 호출이 하위 클래스 생성자의 첫 번째 문이어야하는 경우 어떻게 이런 종류의 검사를 수행 할 수 있습니까?
정적 메서드를 사용하여 클래스를 만들면 검사를 수행 할 수 있지만 명시 적 생성자를 정의해야합니다.
왜 '슈퍼'통화 후 길이를 확인하지 않습니까? 나중에 오류가 발생할 수 있습니다. –