Pessoal,
Sou bem leigo no assunto e embora esteja ha tempos lendo material, nao consigo entender as classes e metodos abstratos.
Pq tenho que usar esses abstratos ?
Pra que servem ?
Tem como explicar muito bem pra um leigo ?
[]s
Pessoal,
Sou bem leigo no assunto e embora esteja ha tempos lendo material, nao consigo entender as classes e metodos abstratos.
Pq tenho que usar esses abstratos ?
Pra que servem ?
Tem como explicar muito bem pra um leigo ?
[]s
o uso de metodos e classes, abstrata é quando você quer deixar a responsabilidade para quem herdade seu metodo tem que fornecer implementações para ele. o que é algo abstrato? o inverso do concreto… entao “Animal” é abstrato, porem “cachorro” é concreto, entao cachorro é um animal, gato é um animal… entao assim tudo pode ser um animal porem ter implementações diferentes.
Enfim as classes abstrata é quando você quer dizer: "quem for uma subclasse concreta que forneça as implementações dos métodos.
Abstrato é algo que vc nao toca, e uma subclass(esquecendo as regras aqui) de uma class abstract é algo que vc toca:
abstract class Animal{
abstract void cor();
}
class Dog{
void cor(){System.out.println("azul");}
}
espero ter ajudado 
Então uma classe com metodos abstratos deve ser usada quando ela puder ser uma superclasse, ou seja, uma subclasse que extend essa classe possui seus metodos abstratos que deverão ser implementados de acordo com a necessidade, é isso?
Pelo que eu entendo é mais ou menos isso, se a classe tiver métodos abstratos ela necessáriamente terá que ser abstrata. Classes abstratas não podem ser instanciadas por isso você não poderá usar os métodos abstratos da superclasse. As classes abstratas servem muito para serem usadas quando se quer ganhar polimorfismo. Exemplo: Um Funcionário (abstrato) não poderá ser instânciado mas um Gerente ou Vendedor(concretos) que estendam Funcionário poderão e cada um deles terão seus métodos com definições bem distintas podendo os dois serem tratados como funcionários.
É mais ou menos isso pessoal?
Aconselho você depois dá uma olhada na mensagem do Mantu,explica só tudo e mais um pouco!
Segue:
http://www.guj.com.br/posts/list/49267.java#258941
Então uma classe com metodos abstratos deve ser usada quando ela puder ser uma superclasse, ou seja, uma subclasse que extend essa classe possui seus metodos abstratos que deverão ser implementados de acordo com a necessidade, é isso?
olha, uma class abstract pode ou nao ter metodo abstract, nao é obrigado que uma class abstract tenha metodo abstract, porém se um metodo for abstract a class deve ser abstract.
A primeira class concreta que extends a essa class abstract deve implementar todos os metodos abstract da class.
abstract class Abstrat{
abstract void metodo();
abstract void metodo2();
}
a class que extends a “Abstrat” deve implementar os dois metodos…caso ela for uma class concreta.