Ayuda Herencia en Java

Trastorner
03 de Marzo del 2010
Hola a todos, a ver si alguien me puede solucionar este ejercicio por favor, seguro que es relativamente sencillo pero no consigo hacerlo funcionar. Es el siguiente:

1Escribe las líneas de código del constructor de la clase “SubClase” para que el resultado de la ejecución del programa sea: a = 6 b = 4

class SuperClase{
private int a;
SuperClase(int x){ a=x;}
void visualizar(){ System.out.print("a = "+a); } }
class SubClase extends SuperClase{
private int b;
SubClase(int x,int y){


}
void visualizar(){ super.visualizar(); System.out.println(" b = "+b); } }
class Herencia1{
public static void main(String args[]){
SubClase sc=new SubClase(6,4);
sc.visualizar(); } }


Muchas gracias de antemano.

Cesar
03 de Marzo del 2010
Hola:

SubClase(int x,int y){
SuperClase(x);

/*Recuerda que cuando una clase padre tiene definido al menos un constructor diferente al constructor por default y este no esta explicito, en este caso SuperClase(){}, todas las clases que hereden de el deberán especificar en su primera linea de código de cada uno de sus constructores a que constructor de la clase padre llamarán.*/

b=y;

/*Con esta linea se le asigna el valor del segundo argumento de la clase a b*/

}

Cesar
03 de Marzo del 2010
Error:

En vez de SuperClase(x);
debe ser: super(x);

de esta manera se llamara al constructor de la clase padre que recibe un argumento.