Eu já li em uma apostila uma frase que guardei:
TODA CLASSE EM JAVA ESTENDE OUTRA CLASSE
Isso eu entendo, mas não entendo como usar isso na prática. Vamos supor que eu tivesse duas classes:
class PrimeiraClasse
class SegundaClasse
Vamos supor que eu criei um objeto para a SegundaClasse, e chamei de obj, fiz assim:
SegundaClasse obj = new SegundaClasse();
Por tudo o que eu tenho lido em apostilas, etc, eu entendi que a PrimeiraClasse é chamada de superclasse , e a Segunda classe é subclasse, como se essa fosse classe-filha e a outra classe-mãe. Até aí eu entendo.
Esse objeto criado (obj) é da SegundaClasse, então ele também é um objeto da PrimeiraClasse, e terá acesso aos métodos que a classe-mãe oferece. O que eu não sei ainda, é se a classe mãe herda os métodos da classe-filha, se eu ao usar a PrimeiraClasse posso utilizar algum método criado na SegundaClasse.
Nessa confusão que eu ainda faço, eu fico sem saber, pra que lado é a herança? Em outras palavras , herdar de uma classe dá direito a essa classe de cima usar a de baixo? No testamento o pai já deixou as coisas pro filho, o filho herda, mas isso dá direito ao pai de usar as coisas do filho?
Desculpem , mas é muita coisa nova, não dá pra entender tudo de vez. Se alguém puder, dá uma luz aí, agradeço demais.
Marco