Título: Problema con objetos. Publicado por: ThePinkPanther en 14 Marzo 2014, 03:41 am Hola gente,surgio un problema mientras practicaba java..
suponiendo que tengo 2 clases , clase 1 y clase 2. la clase 2 , es la que contiene el metodo main. Si yo dentro de los atributos de la CLASE 2,defino un objeto de la clase1 ,supongamos clase1 objeto; dentro del metodo main de la clase 2 no puedo realizar esto : objeto=new clase1(); porque obtengo el siguiente error : Citar non-static variable escribir2 cannot be referenced from a static pero si hago por ejemplo .. this->iniciarobjeto(); y en mi metodo iniciarobjeto de la clase 2 : public void iniciarobjeto(){ objeto=new clase1() ; } esto me deja... ---------- si defino el objeto ( clase1 objeto ) dentro del metodo main , y a continuación lo creo : objeto=new clase1() ; , me permite , pero no así , si lo defino dentro de los atributos de la clase, a que se debe ?.. esto quiere decir que desde un metodo estatico no puedo inicializar objetos de la clase o modificar cualquier atributo ? , no puedo utilizar this para hacerlo tampoco. esto de java me tiene medio confundido , soy novato en el paradigma orientado a objetos,perdonen las molestias. Título: Re: Problema con objetos. Publicado por: gordo23 en 14 Marzo 2014, 06:10 am Hola, según entiendo yo, tanto los métodos como las variables statics, pueden ser llamadas sin crear un objeto, por ejemplo, si tenemos una clase Vehiculo con una variable static:
Código: public static int cantidadAutos = 0; y un método static: Código: public static void getCantidadAutos() { podés llamar a esta variable y al método de esta forma: llamada a la variable: Vehiculo.cantidadAutos llamada al método: Vehiculo.getCantidadAutos() Es decir, podés o no instanciar la clase vehiculo de la forma Vehiculo auto = new Vehiculo() para usar los miembros static de esta. El error es debido a que si usas un miembro no-static, es decir, un miembro que existe a partir de instanciar la clase a la que pertenece, en un método static que puedes usarlo sin instanciar la clase, corres el riesgo de que al usar ese método, el miembro no-static no exista. Uff, espero que puedas entenderlo, realmente no se explicar muy bien las cosas. En fin, si no entendiste intento explicarlo mejor, o por ahí alguien con mejor conocimiento del tema lo pueda hacer. Saludos.- Título: Re: Problema con objetos. Publicado por: ThePinkPanther en 14 Marzo 2014, 14:34 pm Muchas gracias ,ahora entiendo , un metodo estatico y una viriable estatica se pueden llamar sin instanciar la clase, y en caso de no instanciar la clase no existen mis atributos no-estaticos por lo que no puedo referir desde metodos estaticos atributos no-estaticos.
no es asi? :rolleyes: Título: Re: Problema con objetos. Publicado por: gordo23 en 14 Marzo 2014, 22:36 pm :D Qué bueno que entendiste. Realmente creí que estaba explicandolo muy mal, jajaja. Bueno, suerte y seguí prácticando! ;)
Saludos.- Título: Re: Problema con objetos. Publicado por: ThePinkPanther en 15 Marzo 2014, 22:28 pm Muchas gracias ::) , problema solucionado , seguiré tu consejo , hasta la proxima.
|