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

llamar a metodos no estaticos en metodos estaticos

Estas en el tema de llamar a metodos no estaticos en metodos estaticos en el foro de Java en Foros del Web. Hola a todos, estoy comenzando a estudiar Java por mi cuenta y llego a un punto que no consigo comprender bien por mas que reise ...
  #1 (permalink)  
Antiguo 07/10/2014, 01:06
 
Fecha de Ingreso: octubre-2014
Mensajes: 16
Antigüedad: 10 años, 1 mes
Puntos: 0
llamar a metodos no estaticos en metodos estaticos

Hola a todos,

estoy comenzando a estudiar Java por mi cuenta y llego a un punto que no consigo comprender bien por mas que reise diferentes manuales.

Me queda claro que no se puede llamar a un elemento que no es estatico (variable, array, metodo...) dentro de otro que si que lo es, hasta ahi claro.

Con las variables ya he estado practicando y mirando y mas o menos entiendo como funcionaria el usarlas y los motivos por lo que interesa poneras static o no.
Pero mi problema viene con los metodos... como se llama a un metodo no estatico dentro de uno que si lo es?

Yo tengo este ejemplo...

Tengo un metodo no estatico que lleva el siguiente codigo:

Código:
public void saludoInicial() {
        System.out.println("Bienvenido);
    }
Y ahora tengo un metodo static main (por ejemplo) en el que en cierta parte debo de llamar a ese metodo, ¿como deberia de hacerlo?

P.D.--> Evidentemente el codigo expuesto es de ejemplo y no hay razon real para que el etido saludoInicial no fuese static, pero era por no complicar el ejemplo con un codigo largo.

Muchas gracias.
  #2 (permalink)  
Antiguo 07/10/2014, 01:31
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: llamar a metodos no estaticos en metodos estaticos

Hola:

Para llamar a un método no estático, necesitas una instancia de la clase. Tienes que hacer un new de la clase ( o bien recibir la instancia desde algún sitio). En tu caso, sería

Código Java:
Ver original
  1. public static void main (String [] args) {
  2.         TuClase a = new TuClase();
  3.         a.saludoInicial();
  4. }

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 07/10/2014, 01:36
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: llamar a metodos no estaticos en metodos estaticos

Una variable o método estático no necesitan que exista un objeto de esa clase para existir o ser accesibles. Son independientes de los objetos.

Así que si tienes un método/variable estática, ¿cómo sabe de qué objeto quieres ejecutar el método si ni siquiera sabe que existen otros objetos?

Sencillo, pásaselo como argumento del método o que lo lea de otra variable/método estática.
__________________
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.

Etiquetas: metodos
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 05:03.