Java - problema con clases, import y package

 
Vista:

problema con clases, import y package

Publicado por chuidiang (533 intervenciones) el 01/10/2003 16:09:05
Hola:

Tengo una clase A que pertenece a un package y una clase B que no pertenece a ningun package.

No encuentro la forma de usar la clase B desde la clase A, no hay manera de que compile por mas que he probado a poner import o cambiar el classpath.

En A.java tengo

package PAQUETE_A;
public class A
{
B b;
};

y en B.java tengo

public class B
{
int c;
};

¿Alguien sabe una forma de hacer que esto compile?

Sed buenos.
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
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:problema con clases, import y package

Publicado por Yamil Bracho (2310 intervenciones) el 01/10/2003 17:27:19
package simplemente le indica a Java una estructura de directorios donde debe ir a buscar para resolver los nombres de clases y metodos no calificados, asi que para la clase B debes tenerla en el mismo path de la clase A o colocarla en un package

Saludos
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

RE:problema con clases, import y package

Publicado por chuidiang (533 intervenciones) el 02/10/2003 06:28:49
Gracias por la contestación.

Tengo B.java en /users/chuidiang
Tengo A.java en /users/chuidiang/PAQUETE_A

Compilo A.java desde /users/chuidiang/PAQUETE_A con

$ java -classpath /users/chuidiang A.java <--- No funciona, "unresolved symbol B"

Mi problema en realidad es mas complejo, porque se trata de usar clases de dos proyectos distintos (varios cientos de clases por proyecto). Las de un proyecto llevan package y las del otro no. El problema que me he encontrado es que no encuentro manera de hacer que las clases con package vean a las de sin package, y no puedo andar poniendo o quitando packages a varios cientos de clases.

Por favor, copiate las dos clases e intenta compilarlas (ponlas en los directorios que necesites y/o añade los import que te hagan falta, pero no puedes poner ni quitar package en ellas).

Se bueno.
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
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:problema con clases, import y package

Publicado por Yamil Bracho (2310 intervenciones) el 02/10/2003 21:43:47
Pero estas importando el paquete que contiene la clase B en la clase A, es decir, colocas

import users.chuidiang.*;

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

RE:problema con clases, import y package

Publicado por chuidiang (533 intervenciones) el 03/10/2003 06:46:27
He hecho esa prueba y me pasa lo siguiente:

- Si la clase B ya está compilada, al compilar A obtengo el error de que "la clase B está en un paquete equivocado" (users.chuidiang)

- Si la clase B no está compilada, a pesar de tener "public class B", me dice que "no se puede acceder a la clase B" porque no es pública.

He hecho todas las pruebas que se me han ocurrido (meterlas en el mismo directorio PAQUETE_A, hacer import B;, hacer import *; hacer import users.chuidiang.B;, poner el classpath a /users/chuidiang y compilar desde /users/chuidiang/PAQUETE_A, poner el classpath a . y compilar desde /users/chuidiang con javac PAQUETE_A/A.java, etc, etc. No he conseguido compilar de ninguna manera. Por favor, copiate las dos clases e intenta compilarlas a ver si se te ocurre algo que no se me haya ocurrido a mi y lo consigues.

Se bueno.
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

Ve esa pag

Publicado por JorgeM (37 intervenciones) el 04/10/2003 11:36:14
http://www.javaworld.com/javaworld/javaqa/1999-07/06-qa-invoke.html
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