Pq tiene q ser static los métodos llamados desde el main???
Hola tengo una aplicación en modo consola e intento meter métodos q so sean estáticos y no me deja. Me da siempre el error Exception in thread "main" java.lang.NoClassDefFoundError: xxxxx/java
Cómo se podrÃa solucionar para q no tenga q ser todo estático?
Muchas gracias.
DavicÃn
Cómo se podrÃa solucionar para q no tenga q ser todo estático?
Muchas gracias.
DavicÃn
bien o que? , lo que debes hacer es realizar los metodos fuera del "main" y depues llamar los metodos en el "main".
Llamas al constructor desde main y alos metodos desde el constructor.
Saludos.
Saludos.
me podrÃa poner tres lÃneas de código de cómo se harÃa.
Muchas gracias
Muchas gracias
en el main:
ConstructorClase cc= new ConstructorClase();
En Constructor
metodo1();
metodo2();
....
metodoN();
Saludos.
ConstructorClase cc= new ConstructorClase();
En Constructor
metodo1();
metodo2();
....
metodoN();
Saludos.
En los lenguajes de programacion orientado a objetos existe el modificador static, qeu significa? para que sirve?
Las clases tienen variables, cada vez que instancias la clase, esas variables se crean para cada instancia,
lo mismo con los metodos
si tienes una clase con la variable entera x, cada instancia de esa clase tendra dentro una variable entera x, cierto? ok. lo mismo con los metodos.
ahora, lo que hace el modificador static es que ya sea una variable o un metodo este se cree SOLO UNA VEZ para TODAS las instancias de esa clase, es decir que si la variable x cambia de valor.. todas las instancias podran ver este cambio, por que esta variable es unica para todas las instancias y le pertenece a todas.
me explico? lo mismo con los metodos, si un metodo es estatico. este es unico para la clase, no importa cuantas instancias de la clase haya, todas las instancias compartiran el mismo metodo, porque es static.
entonces.. las variables normales.. son variables de instancia.. y las variables static se llaman variables de CLASE.
Ahora.. si desde un metodo static intentas invocar a un metodo "normal", no se puede, porque si tienes 40 instancias.. a cual metodo de todas las instancias estas llamando? es como una cosa de uno a muchos..
Otra cosa.
los metodos y variables static pueden ser invocados sin necesidad de instanciar la clase
Espero haberme explicado, he tratado de ser lo mas didactico.
Att
Fernando Tapia
Las clases tienen variables, cada vez que instancias la clase, esas variables se crean para cada instancia,
lo mismo con los metodos
si tienes una clase con la variable entera x, cada instancia de esa clase tendra dentro una variable entera x, cierto? ok. lo mismo con los metodos.
ahora, lo que hace el modificador static es que ya sea una variable o un metodo este se cree SOLO UNA VEZ para TODAS las instancias de esa clase, es decir que si la variable x cambia de valor.. todas las instancias podran ver este cambio, por que esta variable es unica para todas las instancias y le pertenece a todas.
me explico? lo mismo con los metodos, si un metodo es estatico. este es unico para la clase, no importa cuantas instancias de la clase haya, todas las instancias compartiran el mismo metodo, porque es static.
entonces.. las variables normales.. son variables de instancia.. y las variables static se llaman variables de CLASE.
Ahora.. si desde un metodo static intentas invocar a un metodo "normal", no se puede, porque si tienes 40 instancias.. a cual metodo de todas las instancias estas llamando? es como una cosa de uno a muchos..
Otra cosa.
los metodos y variables static pueden ser invocados sin necesidad de instanciar la clase
Espero haberme explicado, he tratado de ser lo mas didactico.
Att
Fernando Tapia
