La razón de que no exista herencia múltiple es precisamente esa, evitar las coincidencias, así que no tiene ningún sentido que plantees cómo resolverlo desde java, siempre hay otra solución.
Si quieres darle vueltas a la herencia múltiple
http://dis.um.es/~bmoros/privado/apu.../POO5-0607.pdf Cita: si C no hereda estos miembros por ser privados
No es cierto, sí los hereda pero no son accesibles por referencia, si tuvieras un método get público de la clase madre, obtendrías el valor en caso de una herencia normal.
En Java podrás tener un problema parecido con las Interfaces, que sí admiten "herencia" múltiple. Solución, no le pongas nombres iguales, o realiza un cast al objeto heredado para llamar al atributo que quieras usar
Código Javascript
:
Ver originalpublic class Herencia {
public static void main(String[] args) {
A a = new A();
System.out.println(((Una)a).NOMBRE);
System.out.println(((Dos)a).NOMBRE);
}
}
class A implements Una, Dos{
}
public interface Una {
String NOMBRE = "Una";
public void procesa();
}
public interface Dos {
String NOMBRE = "Dos";
public void procesa();
}
En el caso de los métodos no se puede dar porque tienes que implementarlos en la clase, así que las dos interfaces usarían el mismo método.