Construtores

6 respostas
jason_bourne

Pessoal,

tenho esse código abaixo:

class Foo{
  Foo(){
   super();
  }
}

Pra que serve o super() nesse caso?

6 Respostas

N

Olá !

Lendo parece que ele tenta chamar o construtor da classe pai; no caso, a classe Object. Porém isso é redundante.

Flow…

jason_bourne

nogarotto:
Olá !

Lendo parece que ele tenta chamar o construtor da classe pai; no caso, a classe Object. Porém isso é redundante.

Flow…

então toda vez q eu não defino um construtor…ele implicitamente cria um construtor default com o super() ?

Rafael_Nunes

Uma chamada ao construtor da superclasse, neste caso, está chamando o construtor:

public Object(){
}

‘super()’ é sempre a primeira chamada em um construtor(mesmo que você não defina), caso você não faça uma chamada ‘this()’, porque não faria sentido você criar uma instância da classe filha, sem ter uma instância da classe pai.

Rafael_Nunes

Na verdade no construtor default ou em qualquer outro, a primeira linha é sempre ‘super()’, caso você não insira uma chamada ‘this()’

LPJava

a regra é, quer vc declare ou nao declare uma classe sempre terá um construtor!!! explicitamente ou nao!!! E uma vai invocando o outro construtor da superclasse ate chegar a Object.

Reilander

eduacsp:

então toda vez q eu não defino um construtor…ele implicitamente cria um construtor default com o super() ?

sim

Criado 14 de abril de 2008
Ultima resposta 15 de abr. de 2008
Respostas 6
Participantes 5