Cómo deshacerse de GED anulación de toda clase cuando añadir nuevo método en la interfaz

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:

  1. 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.

  1. 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

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=317675&siteId=1
Recomendado
Clasificación