no necesariamente. Puede ser implementado por una subclase abstracta que solo implemente 2 o 1 metodo.
Ahora, si la clase que implementa, no tiene que ser abstracta, entonces si, tiene que implementar los 3 metodos abstractos
Por ejemplo, suponiendo que la clase abstracta padre es esta:
Código:
abstract class UNO {
abstract void metodo1();
abstract void metodo2();
abstract void metodo3();
}
una clase que implemente uno o 2 de los metodos sería asi:
Código:
abstract class DOS extends UNO {
void metodo1() { //codigo }
}
pero necesitarias de otra clase que implemente los metodos que faltan:
Código:
class TRES extends DOS {
void metodo2(){ // codigo }
void metodo3(){ // codigo }
}
Otra opcion es hacer que directamente la clase hija implemente todos los métodos:
Código:
class DOS extends UNO {
void metodo1(){ // codigo }
void metodo2(){ // codigo }
void metodo3(){ // codigo }
}
Lo unico que tienes que recordar, es que si una clase no implementa todos los metodos de su padre, o de si mismo, entonces debe ser declarada como abstracta.
Saludos. Espero haber aclarado tu duda.