Java - DUDA Herencia de Clases

   
Vista:

DUDA Herencia de Clases

Publicado por jorge (1 intervención) el 14/11/2014 10:56:01
Hola buenos dias, estoy intentando aprender Java y estoy con un problema de Herencia de Clases que no entiendo muy bien.

El programa es el siguiente :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package prueba1;
 
class A {
	   public int x=1;
	   public void mostrarValor(int x){
	          System.out.println(x);
	} }
	class B extends A{
	       public int y=2;
	}
	class C extends B{
	       public int z=3;
	       public void mostrarValor(int z){
	             super.mostrarValor(y);
	             System.out.println(z);
	             System.out.println(this.z);
	       }
	       public static void main(String[] args) {
	A a = new C();
	a.mostrarValor(4);
	} }

A la hora de compilar me dice :
Exception in thread "main" java.lang.NoClassDefFoundError

¿Esto a qué es debido?
Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Andreina

DUDA Herencia de Clases

Publicado por Andreina (7 intervenciones) el 15/11/2014 19:26:15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package herencia11;
 
 
class A {
	   public int x=1;
	   public void mostrarValor(int x){
	          System.out.println(x);
	}
}
	class B extends A{
	       public int y=2;
	}
 
	class C extends B{
	       public int z=3;
	       public void mostrarValor(int z){
	             super.mostrarValor(y);
	             System.out.println(z);
	             System.out.println(this.z);
	       }
        }
 
 
public class Herencia11 {
 
 
    public static void main(String[] args) {
 
        C a=new C();
        a.mostrarValor(4);
 
    }
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

DUDA Herencia de Clases

Publicado por Criso (1 intervención) el 17/11/2014 23:46:50
Primero que todo cada clase tiene un único archivo, segundo los atributos se inicializan en el constructor y tercero en el super estas intentando acceder a un atributo heredado de forma incorrecta, ademas estas sobrescribiendo un metodo y debes poner @override
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar