¿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:
-
BillingInterface
public interface BillingInterface extends PreferenceActivity, AbstractBillingActivity { }
-
PreferenceActivity
public interface PreferenceActivity { }
-
AbstractBillingActivity
public interface AbstractBillingActivity { void onCreate(Bundle savedInstanceState); }
y luego
public class Preferences implements BillingInterface {
60
3
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 unaActividadPreferencias
y unaActividadFacturaciónAbstracta
?Java no admite la herencia múltiple. Se pueden implementar varias interfaces, pero no extender varias clases.
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.