Já li algumas coisas em relação a memória mas não consigo entender a ideia. :?
Qual a importância e o impacto de uma classe abstrata em Java?
5 Respostas
O nome sugere + ou - a idéia (porém não é tão claro). Os conceitos envolvidos quando se fala de classes e métodos abstratos são recorrentes da Orientação a Objeto.
Simplificando, uma classe (ou um método) abstrata(o) serve de modelo (em alguns casos até de regra) para outras classes concretas.
As classes concretas herdam as características da classe abstrata.
Exemplificando:
A classe animal ditara as regras de implementação para as demais classes que herdem suas propriedades.
public abstract class Animal {
private String nome;
private String familia; //mamifero, etc...
//metodos aabstratos obrigatoriamente serão impmentados
public abstract void andar();
public abstract void respirar();
}
Agora quero criar um animal, vou criar um cachorro. Sabendo que ele é um animal ele deve herdar da classe animal
public class Cachorro extends Animal {
//como pode ser visto os metodos definidos na classe "Animal" foram implementados na classe "Cachoro"
@Override
public void andar() {
System.out.println("Andou");
}
@Override
public void respirar() {
System.out.println("Respirou");
}
}
Basicamente é isso (mas tem muito mais assuntos envolvidos, orientação não é tão simples assim). Se falei besteira a galera mais experiente me corrija :oops:
Aconselho a estudar orientação objeto (e depois estudar as particularidades da Orientação a objeto em Java) pode te poupar muito esforço.
Obrigado pela ajuda mas o que eu pude entender da sua explicação é que a classe abstrata regra o que as classes que farão a herança têm que implementar.
Além disso quero saber qual a revolução que a classe abstrata traz com relação a desempenho, consumo de memória e como seria a OO sem as classes abstratas.
Não sei se estou enganado, mas não é o implements que me obriga a utilizar todos os métodos declarados?
Então cara, os detalhes de desempenho desconheço, e se vc avaliar vai mudar pouco pois na grande maioria das vezes vc só utiliza o conteúdo da classe abstrata (como se mesclasse as classes), porém com relação a Orientação a Objeto te ajuda a organizar melhor teus projetos, ou seja sem as classes abstratas vc conseguiria implementar normalmente, porém haveria repetição de código, seria difícil definir regras (que alguns frameworks utilizam muito) de implementação.
O lance de obrigatoriedade de implementação é pq os métodos tbm são abstratos, o implements obrigaria implementar tanto os métodos normais quanto os abstratos (quis dar um exemplo de métodos abstratos tbm).
Se tem vontade de continuar programando em Java não deixe de se aprofundar na Orientação a Objeto, pois ela é o “coração” dessa linguagem.
Espero ter ajudado.
Abraço
É, vou continuar estudando.
Obrigado por sua ajuda lucas_vieira
Que isso cara 
Estamos aqui para ajudar (e se ajudados).
[ Se consegui esclareci tua duvida muda o titulo do tópico para resolvido ]
Abraço