gpd38:
Estou com uma duvida de como usar o extends em java
Por exemplo:
Classe Longitude
public class Longitude extends Coordenada
{
}
Classe Coordenada
public abstract class Coordenada
{
}
Este é um exemplo que eu vi pronto, mas não sei como usar em um programa meu e em que ele me ajudaria.
Alguém sabe me explicar? Os livros não falam diretamente como devo utliza-lo.
entenda o seguinte vc ai tem uma class abstract e outra concreta(sem o modificado abstract), e pq vc usaria isso? bom quando vc quer q sua classe concreta implemente os metodos abstractos da class abstract da forma q ele achar conveniente. Lembre-se abstrato é isso: Veiculo, Animal, Comunicacao etc. Tudo isso é abstrato… qualquer coisa pode ser um Veiculo um carro, uma moto, qualquer coisa pode ser um Animal, eu, vc, os gujeiros, uma aguia etc. Entao nao tem uma definicao para algo abstrato. Mais uma class Concreta? existe uma definição um Carro é um Carro, nao posso dizer que meu Carro é um Aviao… mais posso dizer que meu Carro é um Veiculo. Percebe-se a diferença? Você criar essa situação do seu exemplo quando você quer que uma class + especifica cuide da implementação do metodo da superclass.
veja:
class abstract Veiculo{
public abstract void cor();
}
class BMW extends Veiculo{
//BMW É-UM Veiculo
public void cor(){ System.out.println("Preto");}
}
class FERRARI extends Veiculo{
//FERRARI TB É-UM VEICULO
public void cor(){System.out.println("Azul");}
}
observe que ferrari e bmw ambos sao veiculos porem cara um com sua cor… especifica… so mais um ponto uma class concret ela deve implementar todos os metodos abstract de uma class abstract isso é obrigatorio… senao o codigo nao compila…
class abstract Veiculo{
public abstract void cor();
}
class Golf extends Veiculo{
}
nao implementei o metodo cor de uma classe abstrata ao qual eu disse que Golf é um veiculo… isso nao compila…
Bom essa é uma explicacao basica… tem algumas regras a seguir de nao colocar o modificador final aos metodos abstract etc…
qualquer duvida so gritar 
