2011-12-05 14 views
16

Tengo dos paquetes. La clase que deseo importar desde el primer paquete se declara como PÚBLICA. Sin embargo, cuando pruebo un archivo del segundo paquete me muestra errores de compilación como este:No se puede acceder a las clases desde el paquete externo

PUBLICclass no es público en mypackage; no se puede acceder desde el paquete externo

Traté de agregar un constructor público a la clase desde el primer paquete, pero no hace ninguna diferencia.

¿Tiene alguna idea? Yo uso Netbeans 7.

La clase del primer paquete se parece a continuación:

public class PUBLICclass extends AbstractClass { public PUBLICclass() { } } 
+3

se puede añadir la declaración de clase (clase XYZ junto con los constructores) a la pregunta? –

+0

Además, asegúrese de que haya un espacio entre la palabra clave "público" (no es necesario capitalizarlo) y el nombre de la clase. – andri

+2

¿Olvidaste, por casualidad, 'importar' esta 'clase PUBLIC' en el archivo Java * que * usa *? (Fuera del paquete donde se encuentra 'PUBLICclass'.) – user268396

Respuesta

31

Déjame adivinar

Su declaración inicial de la clase PUBLICClass no era pública, entonces se hizo pública `', se puede tratar de limpiar y reconstruir su proyecto?

+1

LOL Acabo de limpiar y reconstruir el proyecto y ahora no hay ningún problema. – deem

+0

Ocurre a veces;) – mprabhat

+1

En mi caso, reiniciar el IDE (estoy usando Android Studio) me ayudó. –

0

que hacer, por casualidad, tienen dos clases PUBLICclass en su proyecto, donde uno es público (uno de los cuales informados la firma aquí), y otra que es paquete visible, e importar el incorrecto en su código?

1

Compruebe el constructor de la superclase predeterminada. Debe ser público o estar protegido.

5
public SmartSaverCals(Context context) 
{ 
    this.context= context; 
} 

añadir pública a su constructor.in mi problema resuelto caso

Cuestiones relacionadas