Metodo protected abstract?

3 respostas
gleysonso

Olá pessoal, eu posso ter um metedo protected abstract, SIM ou NAO justifiquem.

Abracos!!!

3 Respostas

T

O código abaixo compila e roda corretamente. Sua saída é:

Derivada.metodo
OutraDerivada.metodo

abstract class Base {
    protected abstract void metodo ();
}

class Derivada extends Base {
    public void metodo () {
        System.out.println ("Derivada.metodo");
    }
}

class OutraDerivada extends Base {
    protected void metodo() {
        System.out.println ("OutraDerivada.metodo");
    }
}

class TesteProtectedAbstract {
    public static void main(String[] args) {
        Base b = new Derivada();
        b.metodo();
        Base b2 = new OutraDerivada();
        b2.metodo();
    }
}
Thiago_Luis

Contanto que esteja no mesmo pacote, vai que vai.

alessandromds

Se a classe não for default ( [color=violet]class[/color] Classe{}) não precisa estar no mesmo pacote, a questão dos pacotes só tem relevância nesse caso,
se a classe for public e o método for protected, ai as classes do pacote E as que EXTENDEM ela FORA do pacote vão ter acesso à esse método :wink:
por ser um método abstrato , a classe também precisa ser abstrata, e esse método deve ser implementado pela primeira classe contreta que extendê-la !!

Criado 5 de agosto de 2009
Ultima resposta 5 de ago. de 2009
Respostas 3
Participantes 4