Classe | Java e java.lang: programe com a classe Object e String | Solucionado
Publicado 9 meses atrás , em 19/08/2021
Referente ao curso Java e java.lang: programe com a classe Object e String, no capítulo Todos os modificadores de acesso e atividade O que aprendemos?
| 115.5k xp | 37 posts
Pode extender uma classe que não seja abstrata?
por Rafael Lopes de Araujo
| 87.8k xp | 16 posts
Sim , o java te permite extender uma classe que não seja abstrata , porém normalmente as classes mães são colocadas como abstratas para que elas não possam ser instanciadas e acessadas diretamente em outras partes do código.
ok.valeu. tenho mais perguntas.
Posso ter classe abstrata ,mas sem método abstrato?
Se tenho classes filhas,de mesma mãe ou pai ou ainda superclasse,posso atribuir objeto de uma classe filha em outro objeto de outra classe filha? se objeto a da classe B,e objeto c da classe D,sendo B e D filhas da classe mãe E. a=c; ?
Sim , vc pode ter uma classe abstrata sem metotos abstratos , porém somente as classes que herdarem dela terão acesso a esse metodo já que uma classe abstrata não pode ser instanciada, e os filhos teriam que utilizar o metodo já implementado , o mais comum é tudo aparecer como abstrato mesmo.
Para sua segunda pergunta a resposta é não , pq mesmo sendo filhas da mesma mãe elas são diferentes entre si. Perceba que tudo que tem na mãe a classe filha também tem , apesar de cada filho poder ter sua peculiaridade eles sempre terão uma parte que é exatamente igual a mãe , por isso a "conversão", o polimorfismo é possivel. Agora duas classes filhas, mesmo sendo da msm mãe, nada garante que eles tem tudo o que é preciso para se tornar a sua irmã, vc smp pode se transformar em alguem acima de vc, mãe , avó , e por ai vai.