Yasin:
Tengo interfaz, método abstracto, y más clasificado y el uso de este tipo de referencia como bajo.
public interface InterfaceA {
boolean mehod1();
boolean method2();
boolean newMethod(); //When added new method
}
public abstract class AbstractA implements InterfaceA{
// other common method
}
public Class C extend AbstractA //have to override three method
public Class D extend AbstractA //have to override three method
public Class E extend AbstractA //have to override three method but only should be override old method
public Class F extend AbstractA //have to override three method but only should be override old method
Estas clases derivan clase abstracta Quiero único nuevo método en el interfaz pero sólo implemento C y D Clase de otro uso debe ser único método de edad.
¿Cómo se debe diseñar?
Kavitha Karunakaran:
Se puede manejar de dos formas:
- Si está utilizando Java 7 o inferior, extender la InterfaceA para crear una nueva interfaz
public InterfaceB extends InterfaceA{
// Your new methods definitions here..
}
Deje que las clases C y D implementan InterfaceB.
- Si está utilizando Java 8 o superior, como se sugiere @Slaw, añadir método predeterminado para InterfaceA. Sustituir la implementación predeterminada para darle a su implementación personalizada de las clases C y D