Foros del Web » Programación para mayores de 30 ;) » Java »

Problemas con los packages

Estas en el tema de Problemas con los packages en el foro de Java en Foros del Web. Hola a todos!!! Necesito una pequeña ayuda o grande segun se mire jejeje!!! Estoy con el tema de packages en Java y me esta dando ...
  #1 (permalink)  
Antiguo 25/04/2004, 12:39
 
Fecha de Ingreso: mayo-2003
Mensajes: 64
Antigüedad: 21 años
Puntos: 0
Problemas con los packages

Hola a todos!!!
Necesito una pequeña ayuda o grande segun se mire jejeje!!!
Estoy con el tema de packages en Java y me esta dando un ejercicio el siguiente problema:
El ejercicio esta copiado totalmente de un Manual de Java.
Tengo el siguiente fichero: Proteger.java que lo puedo compilar sin problemas:
package p1;
public class Proteger
{
int n=1;
private int n_pri=2;
protected int n_pro=3;
public int n_pub=4;

public Proteger()
{
System.out.println("Constructor base");
System.out.println("n= "+n);
System.out.println("n_pri= "+n_pri);
System.out.println("n_pro= "+n_pro);
System.out.println("n_pub= "+n_pub);
}
}

class Derivada extends Proteger
{
Derivada()
{
System.out.println("Constructor de Derivada");
System.out.println("n= "+n);
//System.out.println("n_pri= "+n_pri);
System.out.println("n_pro= "+n_pro);
System.out.println("n_pub= "+n_pub);
}

}

class MismoPaquete
{
MismoPaquete()
{
Proteger p=new Proteger();
System.out.println("Constructor de MismoPaquete");
System.out.println("n= "+p.n);
// System.out.println("n_pri= "+p.n_pri);
System.out.println("n_pro= "+p.n_pro);
System.out.println("n_pub= "+p.n_pub);
}
}

Y luego me he creado un fichero para probar el acceso a variables de paquete, de superclases y subclases:


package p1;
//crear instancias de las distintas clases de p1
public class Demo
{
public static void main(String args[])
{
Proteger ob1=new Proteger();// AQUI ME DA ERROR
Derivada ob2=new Derivada();//AQUI ME DA ERROR
MismoPaquete ob3=new MismoPaquete(); //AQUI ERROR
}
}

Pues bien a la hora de compilar este fichero Demo.java me da error a la hora de generar los Objetos Proteger, Derivada y MismoPaquete.
hasta donde yo se, como los pertenecen al mismo package en este caso p1, debería poder compilar sin problemas y asi lo comenta el libro del cual he sacado el ejercicio. Pero esto no es asi, me da error de compilación y ya no se que mirar.
Como están en el mismo paquete no es necesario un p1 por delate ni nada por el estilo.
Ademas segun he leido en la teoría es necesario crear una carpeta que se llame como el paquete en este caso p1, y meter ahi los ficheros (por lo menos el .class) aunque yo he metido los dos.
Pero no hay manera de que pueda compilarlos, alguien me podría ayudar por favor, me es muy importante resolverlo, y quizas se me pasa un tonteria en el momento de compilar.
Asi que espero que me podias echar una mano.
Gracias de antemano. Y perdonar por la lonmgitud del mensaje.
Un saludo!!!
Fiss5
  #2 (permalink)  
Antiguo 25/04/2004, 13:37
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
Pues como ya te diste cuenta, para que esto funcione deben de estar los ficheros dentro de una carpeta con el mismo nombre que el paquete, pues bien, la ultima clase debes asegurarte de tener el fichero .java dentrod e esa carpeta y entonces compilarlo, o ya lo has probado asi??

Bueno, ahi dinos si ya lo intentaste y si aun no hazlo y luego nos cuentas que tal

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #3 (permalink)  
Antiguo 26/04/2004, 07:34
 
Fecha de Ingreso: mayo-2003
Mensajes: 64
Antigüedad: 21 años
Puntos: 0
Si, si.
He creado una carpeta llamada p1 y aho he metido tanto el Proteger.java como el Demo,java.
El Proteger compila sin problemas, pero el Demo, no.
A la hora de compilar el Demo como ya tiene en la primera linea package p1, no tengo nada mas que compilarlo con javac Demo.java no??
Pues no, no hay manera.
Que será será. Gracias de antemano a ver si podeis ayudar..
Muchas gracias!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:22.