Tenho uma classe abstrata ClasseX no pacote com.empresaX.classes e nessa classe tem um metedo abstrato getX().
Quero extender essa classe na classe ClassY no pacote com.empresaY.classes mas não consigo. Sempre diz que o método getX() não foi implementado em ClassY, mas foi!
Se eu coloco as duas classes no mesmo pacote, funciona!
Realmente não é possível extender uma classe abstrata que esteja num pacote diferente ou eu que tô fazendo alguma coisa errada?
[]'s
kra verifique se vc nao esta esquecendo de colocar o modificador de acesso…
se vc nao colocar nenhum modificador de acesso quer dizer que o seu acesso esta default(como alguns dizem friendly) …
no seu caso acho q o mais apropriado eh colocar um protected para dar visibilidade a todas as subclasses mesmo que fora do pacote…
QQ coisa posta ai…
Abraços
Já coloquei como public e protected… mas sempre dá a mesma mensagem.
Diz que a classe ClassY tem que ser declarada abstrata pq não define o método getX()…
Apenas exemplificando, o código está mais ou menos assim:
ClassX.java
package com.empresaX.classes;
public abstract class ClassX {
abstract String getX();
}
ClassY.java
package com.empresaY.classes;
import com.empresaX.classes.ClassX;
public class ClassY extends ClassX {
public String getX() {
....
return variavel;
}
}
[]'s
Faltou o modificador de acesso “public” no metodo abstrato “getX()”, por isso que nao esta funcionando.
Rafael
Funcionou!
Mas é estranho… eu podia jurar que já tinha tentado isso e tinha dado erro de compliação… deve ter sido outra coisa e não prestei atenção…
Mas valeu!
[]'s