Dúvida (iniciante) herança[RESOLVIDO]

Olá pessoal…
tenho uma classe chamada PrimeiraClasse:

public class PrimeiraClasse {
     private String nome;

   

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

   
}

e uma classe que a herda

public class SegundaClasse extends PrimeiraClasse{

}

Consigo acessar os métodos publicos normalmente…porém quando defino um construtor para a Primeira Classe:

 public PrimeiraClasse(String nome) {
        this.nome = nome;
    }

Dá erro na Classe que a estende, por que?

Obrigado

Fala Duke,

A segunda classe obrigatóriamente precisa sobreescrever o construtor da primeira classe.
Se o construtor for identico você pode fazer assim.

public SegundaClasse(String nome) {
   super(nome);
}

o super vai chamar o construtor da super classe.

Porque SegundaClasse precisa SEMPRE iniciar o contrutor de PrimeiraClasse dentro do seu próprio contrutor.
Quando PrimeiraClasse não tem um contrutor declarado, ou se ele não tiver argumentos o próprio Java inicia o construtor por baixo dos panos.
Você inicia o construtor da superclasse usando “super(…)” dentro do construtor da subclasse.

Ex.:

[code]public class SegundaClasse extends PrimeiraClasse {

public SegundaClasse(String nome) {
	super(nome); //Inicia PrimeiraClasse passando o parâmetro que ele espera
	// Quando o construtor da superclasse não tem parâmetros ou não foi declarado
	// O Java coloca sempre um super() pra você
}

}[/code]

ah Ok Adilson…muito obrigado cara!

[quote=Eric SantAnna]Porque SegundaClasse precisa SEMPRE iniciar o contrutor de PrimeiraClasse dentro do seu próprio contrutor.
Quando PrimeiraClasse não tem um contrutor declarado, ou se ele não tiver argumentos o próprio Java inicia o construtor por baixo dos panos.
Você inicia o construtor da superclasse usando “super(…)” dentro do construtor da subclasse.

Ex.:

[code]public class SegundaClasse extends PrimeiraClasse {

public SegundaClasse(String nome) {
	super(nome); //Inicia PrimeiraClasse passando o parâmetro que ele espera
	// Quando o construtor da superclasse não tem parâmetros ou não foi declarado
	// O Java coloca sempre um super() pra você
}

}[/code][/quote]
Entendi! valeu…

Então coloca [RESOLVIDO] no título do tópico …