Classe Abstrata

11 respostas
C

Ae galera blz???

É o seguinte tenho um trabalho para fazer, que eu tenho que criar uma classe abstrata com varios metodos.

E depois criar uma classe extends e que use a classe abstrata, porem nao tenho ideia de como fazer isso, queria saber se é possivel ser postado algum exemplo de classe abstrada com uma classe extends???

valeuuiuuuu

flws

11 Respostas

J
abstract class TesteAbstract {

    private String teste = "Testando";

    public abstract String metodoPublico();

    protected abstract int metodoProtected();

    abstract void metodoDefault();

    public void metodoTeste() {
        System.out.println(teste);
    }
}

class Teste extends TesteAbstract {
    public String metodoPublico() {
        return "Metodo Publico";
    }

    protected int metodoProtected() {
        return 2 * 3 * 4 * 5;
    }

    void metodoDefault() {
        System.out.println("Metodo default");
    }

    public static void main(String[] args) {
        TesteAbstract ta = new Teste();
        System.out.println(ta.metodoPublico());
        System.out.println(ta.metodoProtected());
        ta.metodoDefault();
        ta.metodoTeste();
    }
}

Espero ter ajudado…
Flw…

T

Aproveitando o topico…

Qual a diferença d uma classe abstract para uma public por exemplo?

Grato…

Theze

J

Uma classe abstrata pode ser public, quando você coloca uma classe sem o public ela fica somente visível a nível de pacotes e você pode colocar essa classe em um arquivo com o nome diferente da mesma. Por exemplo, vamos supor que você tenha a classe Teste (public) ela deve estar em um arquivo Teste.java, agora que você tenha a classe TesteAbstract (abstrata ou não, mas sem o public) você pode colocar essa classe no arquivo TesteAbstract.java, ou no Teste.java ou QualquerCoisaQueVoceQueria.java.

Espero ter te ajudado…
Flw…

T

Se eu não colocar o public na declaracao da classe posso dar ao arquivo o nome q eu quizer, é isso?

E o que é uma classe abstract?

Grato…

Theze

J

Além dela só ser visível para as classes do mesmo pacote ela também pode ser colocada em outro .java.

Uma classe abstrata é uma classe como qualquer outra, que NÃO pode ser instanciada e que pode possuir métodos sem implementação (métodos abstratos). Estes métodos devem ser implementados por alguma classe que extender essa classe abstrata.

Flw…

T

Valeu…

Theze

D

só complementando…
se voce tiver uma classe que esteja estendendo essa classe abstrata e essa classe nao conter os metodos abstratos dará um erro de compilação…lembrando que cada classe pode implementar esses metodos de forma diferente como explicou nosso colega!
voce pode simplesmente colocar a assinatura do metodo e () { } sem problemas!!

blz?!

Falou!!!

T

Grato pela atenção…
E foi mal ai corvao por me meter no teu topico…

Valeu…

Theze…

T

Grato pela atenção…
E foi mal ai corvao por me meter no teu topico…

Valeu…

Theze…

F

E se uma classe contiver pelo menos um método abstrato essa classe deverá ser obrigatoriamente declarada abstrata, não podendo ser instanciada, apenas herdada! Por favor me corrijam se eu estiver errado.

[]'s
Fred

A

Correto, para ter algum método abstrato ela necessariamente precisa ser abstrata, e se for abstrata não pode ser instanciada. :wink:

Criado 16 de fevereiro de 2005
Ultima resposta 21 de fev. de 2005
Respostas 11
Participantes 6