Favolas
Favolas

Reputation: 7243

Java constructor not initializing properly

I have a class that has this 2 constructors:

public Conferencia(String nomeConferencia, 
                   String localizacaoConferencia, 
                   int anoConferencia, 
                   int mesConferencia, 
                   int diaConferencia) 
{
    this.nomeConferencia = nomeConferencia;
    this.localizacaoConferencia = localizacaoConferencia;
    this.anoConferencia = anoConferencia;
    this.mesConferencia = mesConferencia;
    this.diaConferencia = diaConferencia;
    this.membroComiteOrganizacao = new MembroComiteOrganizacao[100];
    this.membroComitePrograma = new MembroComitePrograma[100];
    this.idConferencia = contadorConferencias++;
}


public Conferencia(String nomeConferencia, 
                   String localizacaoConferencia, 
                   int anoConferencia, 
                   int mesConferencia, 
                   int diaConferencia, 
                   MembroComiteOrganizacao[] membroComiteOrganizacao) 
{
    this.nomeConferencia = nomeConferencia;
    this.localizacaoConferencia = localizacaoConferencia;
    this.anoConferencia = anoConferencia;
    this.mesConferencia = mesConferencia;
    this.diaConferencia = diaConferencia;
    this.membroComiteOrganizacao = membroComiteOrganizacao;
    this.idConferencia = contadorConferencias++;
}

MembroComiteOrganizacao constructor is like this:

public MembroComiteOrganizacao(int papelMembro, 
                               String memberName, 
                               String memberEmail, 
                               String memberInstituicao) 
{
    super(memberName, memberEmail, memberInstituicao);
    this.papelMembro = papelMembro;

}

In main, to not have to insert always data if i create something like this:

static Conferencia[] conferencias = {new Conferencia("Congresso 1","Abrantes",2012,1,2)};

All is ok.

But now I want to insert in that same constructor data regarding MembroComiteOrganização. I've done:

static Conferencia[] conferencias = {new Conferencia("Congresso 1","Abrantes",2012,1,2,new MembroComiteOrganizacao(1,"Regina Kareem Obrien","[email protected]","Casa da Criança de Tires"))};

but it gives me error.

Can someone explain-me what I'm doing wrong?

UPDATE

done

static Conferencia[] conferencias = {new Conferencia("Congresso 1","Abrantes",2012,1,2,new MembroComiteOrganizacao[1](1,"Regina Kareem Obrien","[email protected]","Casa da Criança de Tires"))};

and the error now is ')' expected

Upvotes: 0

Views: 90

Answers (3)

Martin Matula
Martin Matula

Reputation: 7989

If that is really the only constructor you have in your Conferencia class, then even your first code snipped would fail, since the MembroComiteOrganizacao parameter is not optional and you are not passing value to it.

The other one fails because that parameter is an array, and you are passing a single object.

If you define the last parameter as MembroComiteOrganizacao... membroComiteOrganizacao instead of MembroComiteOrganizacao[] membroComiteOrganizacao (i.e. you use ... instead of []), both your code snippets should work.

Upvotes: 2

Roger Lindsjö
Roger Lindsjö

Reputation: 11543

Your types don't match up, your Conferencia constructor takes an array of MembroComiteOrganizacao, but you give it one instance, not an array.

Upvotes: 0

Azodious
Azodious

Reputation: 13872

while creating static Conferencia[] conferencias at index 0, the c'tor is not closed.

Upvotes: 1

Related Questions