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

No puedo instanciar Clases

Estas en el tema de No puedo instanciar Clases en el foro de Programación General en Foros del Web. Buen día, Tengo un poco de experiencia programando en java pero ahora no se que ocurre. Tengo las siguientes dos clases: Código: public class main ...
  #1 (permalink)  
Antiguo 22/09/2011, 10:31
 
Fecha de Ingreso: junio-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
No puedo instanciar Clases

Buen día,

Tengo un poco de experiencia programando en java pero ahora no se que ocurre.

Tengo las siguientes dos clases:


Código:
public class main
{
	public static void main ( String[] args)
	{
		clasePruebas relativity = new clasePruebas();
		relativity.prueba();
	}

}
Y

Código:
public class clasePruebas
{  
		public void clasePruebas()
		{
							System.out.println("Entrando a constructor-");

		}
		
        public static void prueba()
        {
				System.out.println("Pruebas");
      
        } // Fin de Método
        
} // Fin de Clase

Al momento de hacer un javac a la clase main, me tira el siguiente error:



C:\Users\Andres\Desktop\javaConsola>javac main.java
main.java:6: cannot find symbol
symbol : class clasePruebas
location: class main
clasePruebas relativity = new clasePruebas();
^
main.java:6: cannot find symbol
symbol : class clasePruebas
location: class main
clasePruebas relativity = new clasePruebas();
^
  #2 (permalink)  
Antiguo 22/09/2011, 10:32
 
Fecha de Ingreso: junio-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: No puedo instanciar Clases

Cual podría ser el problema?
  #3 (permalink)  
Antiguo 22/09/2011, 11:11
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 2 meses
Puntos: 344
Respuesta: No puedo instanciar Clases

Tienes varios errores:

1. El constructor de una clase no tiene tipo de retorno:

Código Java:
Ver original
  1. public clasePruebas()
  2.         {
  3.                             System.out.println("Entrando a constructor-");
  4.  
  5.         }

2. El método prueba de la clase clasePruebas lo has declarado estático, es decir, no es necesario crear un objeto para usarlo (lo estás usando mal).

Código Java:
Ver original
  1. public class main
  2. {
  3.     public static void main ( String[] args)
  4.     {      
  5.         clasePruebas.prueba();
  6.     }
  7.  
  8. }

O lo usas así, o defines prueba como un método normal

3. Seguramente no te deja compilar porque no encuentra la clase clasePruebas. Depende de como tengas la estructura de los archivos podrás necesitar o no un import.

Código:
javac main.java clasePruebas.java 'Compilar

java main ' Ejecutar
ó



Código:
javac clasePruebas.java 'Compilar
javac main.java 'Compilar

java main ' Ejecutar

Última edición por alexg88; 22/09/2011 a las 11:27
  #4 (permalink)  
Antiguo 26/09/2011, 11:43
 
Fecha de Ingreso: junio-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: No puedo instanciar Clases

Creo que no va por ahi, hice exactamente lo que dijiste:

Quite el static de todos los metodos excepto del main. Y sigo teniendo errores, alguna otra sugerencia?

Gracias
  #5 (permalink)  
Antiguo 26/09/2011, 14:34
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 2 meses
Puntos: 344
Respuesta: No puedo instanciar Clases

Has compilado las clases de la manera que te he indicado.

También tienes que tener en cuenta los package en los que se encuentra la clase.
  #6 (permalink)  
Antiguo 27/09/2011, 09:49
 
Fecha de Ingreso: junio-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: No puedo instanciar Clases

Si, vamos pero mientras las clases sean publicas no hay problema no?
  #7 (permalink)  
Antiguo 27/09/2011, 13:16
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 2 meses
Puntos: 344
Respuesta: No puedo instanciar Clases

No vale sólo que sean públicas.

Si sigues teniendo problemas pon el código completo de tus clases y como las tienes guardadas en el disco (el orden dentro de la carpeta del proyecto).

Etiquetas: clases, instanciar, programa
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 23:17.