¿Puede una clase extender dos clases?

Mi clase debe extender dos clases al mismo tiempo:

public class Preferences extends AbstractBillingActivity {

public class Preferences extends PreferenceActivity {

¿Cómo hacerlo?

Actualización. Dado que esto no es posible, ¿cómo debo utilizar entonces esa AbstractBillingActivity con las Preferencias?

Actualización2. Si voy con interfaces, ¿debo crear:

  1. BillingInterface

    public interface BillingInterface extends PreferenceActivity, AbstractBillingActivity {
    
    }
  2. PreferenceActivity

    public interface PreferenceActivity {
    
    }
  3. AbstractBillingActivity

    public interface AbstractBillingActivity {
    
            void onCreate(Bundle savedInstanceState);
    
    }

y luego

public class Preferences implements BillingInterface {
Solución

Java no admite la herencia múltiple.

Hay algunas soluciones que se me ocurren:

La primera es la agregación: hacer una clase que tome esas dos actividades como campos.

La segunda es utilizar interfaces.

La tercera es repensar tu diseño: ¿tiene sentido que una clase Preferencias sea a la vez una ActividadPreferencias y una ActividadFacturaciónAbstracta?

Comentarios (0)

Java no admite la herencia múltiple. Se pueden implementar varias interfaces, pero no extender varias clases.

Comentarios (4)

No se puede hacer que una clase se extienda a dos clases.

Una posible solución es hacerla extender desde otra clase, y hacer que esa clase extienda desde otra de nuevo.

Comentarios (1)