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

empezando con java

Estas en el tema de empezando con java en el foro de Java en Foros del Web. Buenas, Estoy empezando con java y me compre un libro para ir aprendiendo. tengo algunas dudas a ver si me las pueden resolver. En el ...
  #1 (permalink)  
Antiguo 13/09/2011, 08:36
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 13 años, 6 meses
Puntos: 2
empezando con java

Buenas,

Estoy empezando con java y me compre un libro para ir aprendiendo. tengo algunas dudas a ver si me las pueden resolver.

En el tema de las variables y constantes no entiendo muy bien para que se utliza static¿?

también vi que al generar una nueva aplicación java desde el netbeans nos crea una clase que le acompaña de la palabra main. para que se utliza el main??

saludos
  #2 (permalink)  
Antiguo 13/09/2011, 09:25
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 12 años, 8 meses
Puntos: 188
Respuesta: empezando con java

A diferencia de los métodos de instancia o no estáticos, a los métodos static se los puede llamar directamente usando: Clase.metodo(); mientras que los nó estáticos obligan a crear un objeto (instanciar la clase) para poder usarlos.

Como ejemplo un poco chorras y rápido (así q no me mato a resolver la sintaxis)

Public class MiClase {
... // variable/s o atributo/s
... // constructor/es
public static String saludo() {
System.out.println("Hola");
}
public String saludo2() {
System.out.println("Hola de nuevo");
}
}

//Tenemos una clase 2 que importa la clase MiClase... y en el método main hacemos
MiClase.saludo();
// imprimiría el texto del método en pantalla, pero sin embargo para usar el saludo2 habría que hacer
MiClase objetoDeMiClase = new MiClase(); // usando por ej. un constructor sin argumentos
objetoDeMiClase.saludo2(); // Imprimiría en pantalla el segundo texto

Por tanto los métodos static suelen ser métodos genéricos que no dependen de las variables. De ti depende elegir lo que creas más conveniente para la aplicación que desarrolles.

Para más información, y creo que está mucho mejor explicado, consulta:
http://ocw.upm.es/lenguajes-y-sistem...sdemetodos.pdf
  #3 (permalink)  
Antiguo 13/09/2011, 22:38
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: por ahi!!!
Mensajes: 113
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: empezando con java

Cita:
Iniciado por Fuzzylog Ver Mensaje
A diferencia de los métodos de instancia o no estáticos, a los métodos static se los puede llamar directamente usando: Clase.metodo(); mientras que los nó estáticos obligan a crear un objeto (instanciar la clase) para poder usarlos.

Como ejemplo un poco chorras y rápido (así q no me mato a resolver la sintaxis)

Public class MiClase {
... // variable/s o atributo/s
... // constructor/es
public static String saludo() {
System.out.println("Hola");
}
public String saludo2() {
System.out.println("Hola de nuevo");
}
}

//Tenemos una clase 2 que importa la clase MiClase... y en el método main hacemos
MiClase.saludo();
// imprimiría el texto del método en pantalla, pero sin embargo para usar el saludo2 habría que hacer
MiClase objetoDeMiClase = new MiClase(); // usando por ej. un constructor sin argumentos
objetoDeMiClase.saludo2(); // Imprimiría en pantalla el segundo texto

Por tanto los métodos static suelen ser métodos genéricos que no dependen de las variables. De ti depende elegir lo que creas más conveniente para la aplicación que desarrolles.

Para más información, y creo que está mucho mejor explicado, consulta:
http://ocw.upm.es/lenguajes-y-sistem...sdemetodos.pdf
Ahora entiendo porque siempre decis que busquen en google y pasas links. Si no sabes explicar una chota!!!: le dijiste cualquier cosa al pibe. El pdf es claro, pero no dice lo que vos estas expresando. Yo diria que si no sabes comunicarle a la gente lo que sabes, no gastes mas teclados en esto, dedicate a otra cosa!!! ahhh suerte querido!! la necesitas y mucho!!!
Te comento, que me canse de corregir codigo bosta hecho en españa, esta lleno de programadores cuadrados!! Conoci algunos pequeños componentes bien desarrollados, pero en su mayoria son un desastre!!!
  #4 (permalink)  
Antiguo 14/09/2011, 02:01
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 12 años
Puntos: 306
Respuesta: empezando con java

megajandro, ya que tan mala te pareció la explicación y tan bueno eres tú, bien podrías habernos dado una clase magistral.

Y bueno, sobre tu "crítica" hacia la forma de programar en españa, en fin, creo que no hace falta ni comentarla.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #5 (permalink)  
Antiguo 14/09/2011, 03:33
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 12 años, 8 meses
Puntos: 188
Respuesta: empezando con java

Vamos a ver, megajandro, me parece que no has entendido de qué va esto.

Este es un foro en el que unos usuarios exponen sus dudas sobre un tema y otros usuarios tratan de ayudarles, tanto unos como otros buscan aprender algo de la experiencia, por tanto si no estás de acuerdo con cómo lo he explicado señala mis errores e ilústrame sobre como sería correcto. No tendré ningún problema en reconocer que me he equivocado en algo si es así.

Pero se ve en tu comentario que no aportas nada y lo único que tienes es inquina por un comentario en otro post, y por eso te dedicas a trollear.

Si yo aporto enlaces es porque lo primero que debe hacer un usuario es consultar su problema en los buscadores disponibles, y buscar una explicación adecuada a sus necesidades en otros lugares antes de postear en el foro, porque muchas veces te encuentras repetida la misma pregunta año tras año, y con una pequeña búsqueda nadie gastaría tiempo, que no sobra precisamente.

Para algunos usuarios es muy cómodo que le den todo masticado, no son la mayoría, pero deben entender que es necesario realizar un pequeño esfuerzo (como leer documentación sobre el tema) para solucionar sus problemas. Si a pesar de hacer ese esfuerzo no lo entienden, entonces el foro sería una solución perfecta y aquí estamos el resto de usuarios para echar una mano.

De hecho, si algún moderador se tiene por bien comentar algo aquí, este asunto lo deberíamos haber resuelto en todo caso mediante mensajes privados, ya que no aportamos nada al tema que se está tratando, y de hecho en realidad lo estamos desvirtuando al llevar los comentarios a otros cauces que no son los deseados por el usuario que creó este hilo.

De todos modos quería aclarar por qué pongo enlaces en mis respuestas. No es ni por mala fé ni por chulería, en todo caso sería más bien porque tengo consciencia de que puedo ser algo ignorante en algunos temas y pretendo minimizar mis errores apoyándome en material que creo más correcto para resolver las dudas del resto de usuarios. Quien sabe, otros pueden no ser conscientes de su ignorancia y llevar a terceros a error más fácilmente.
  #6 (permalink)  
Antiguo 14/09/2011, 04:31
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: empezando con java

ya me quedo claro.
muchas gracias
  #7 (permalink)  
Antiguo 14/09/2011, 07:29
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 12 años, 10 meses
Puntos: 416
Respuesta: empezando con java

Quería agregar que al usar static en un método o una clase estas definiendo que esa clase no depende de una instancia sino de la clase como tal. Por eso es posible llamar a los métodos sin instanciar la clase y por eso es que solamente puedes usar variables y métodos estáticos en otro método estático..
Los métodos y variables estáticas no cambian su valor sin importar cuantos objetos crees de esa clase.

@FuzzyLog, te felicito por no rebajarte al nivel de megajandro que no aporta nada al foro y lo único que gano fue su suspensión de este.

Etiquetas: empezando, netbeans
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 13:34.