Немного предыстории:
Участвуют три класса: Tester(main method)
, DNASequence(object)
и ProteinDNA(subclass of DNASequence)
. Все три в одном пакете.
Конструктор для ProteinDNA
принимает объект DNASequence
и целое число
public class ProteinDNA extends DNASequence{
public ProteinDNA(DNASequence dna, int startAt){ //this is the constructor
Компиляция класса ProteinDNA
дает мне ошибку в конструкторе.
Ошибка в Eclipse:
"Implicit super constructor `DNASequence()` is undefined.
Must explicitly invoke another constructor"
Ошибка в jGrasp:
ProteinDNA.java:16: error:
constructor DNASequence in class DNASequence cannot be applied to given types;
public ProteinDNA(DNASequence dna, int startAt)^{
required: String
found: no arguments
reason: actual and formal argument lists differ in length"
Что я делаю неправильно? Класс Tester передает ProteinDNA
правильно сконструированный экземпляр DNASequence
.
ProteinDNA
являетсяDNASequence
, поэтому вам нужно явно вызвать конструкторDNASequence
, так как он не имеет конструктора без аргументов. - person Sotirios Delimanolis   schedule 16.10.2013ProteinDNA
должен расширятьDNASequence
? Кажется странным, что он принимает один в своем конструкторе и расширяет его... - person Jon Skeet   schedule 16.10.2013