Fecha y hora actual: Sábado 14 Dic 2019 02:01
Índice del Foro

Foros de programación informática, diseño gráfico y Web

En esta comunidad intentaremos dar soporte de programación a todos los niveles, desde principiantes a profesionales de la informática, desarrollo de programas, programación web y mucho más.

métodos static

Responder al Tema

Índice del Foro > Java > métodos static

Autor Mensaje
marcela
Usuario Activo


Registrado: 13 Dic 2011
Mensajes: 253

Mensaje Publicado: Martes 24 Jun 2014 00:05

Título del mensaje: métodos static

Responder citando

Saludos

Estoy leyendo sobre los métodos static que se usan para realizar alguna tarea sin que se haya creado un objeto, pero tengo una duda:

si tengo que llamar a un método que se llama por ejemplo leerArchivo() dentro del método static main() tengo que a fuerzas declarar leerArchivo como static porque si no me aparecería el mensaje de error Cannot make a static reference to the non-static method leerArchivo(), pero también funcionaría si creo una instancia de clase(en este caso Token), pero cuál de las dos sería la manera correcta de hacerlo??

Código:
import java.io.File;
import java.io.FileReader;
import java.util.Scanner;

public class Token {

   public static void main(String[] args) {
      String nombre;
      Scanner teclado = new Scanner(System.in);
      System.out.print("Dame el nombre del archivo: ");
      nombre = teclado.nextLine();
      teclado.close();
      leerArchivo(nombre);
   }
   
   public static void leerArchivo(String nombre)
   {
      //esta funcion me lee un archivo
   }
}


aqui está de la otra manera que tenía pensado hacerla

Código:
import java.io.File;
import java.io.FileReader;
import java.util.Scanner;

public class Token {

   public static void main(String[] args) {
        Token k = new Token();
      String nombre;
      Scanner teclado = new Scanner(System.in);
      System.out.print("Dame el nombre del archivo: ");
      nombre = teclado.nextLine();
      teclado.close();
      t.leerArchivo(nombre);
   }
   
   public void leerArchivo(String nombre)
   {
      //esta funcion me lee un archivo
   }
}


gracias

Volver arriba
Ver perfil del usuario Enviar mensaje privado
WhiteSkull
CoAdmin


Registrado: 20 Mar 2009
Mensajes: 3136
Ubicación: y*width+x

Mensaje Publicado: Martes 24 Jun 2014 02:53

Título del mensaje: métodos static

Responder citando

Para el caso que traes es más elegante declarar el método cómo estático. Primeramente los métodos estáticos son idóneos para eso que citaste, para usarlos con objetos que no se instanciarán más de una vez cómo los singletones. Aparte los miembros declarados cómo estáticos son únicos, comparten el código, esto quiere decir que si instanciamos varias veces un objeto con un miembro estático, al modificar el miembro desde cualquier objeto instanciado, el cambio se produce en todas las instancias.

Volver arriba
Ver perfil del usuario Enviar mensaje privado Visitar sitio web del autor
P3p3
Usuario Activo


Registrado: 04 Feb 2014
Mensajes: 151
Ubicación: $('Identity').load(http://Lospillaos.es);

Mensaje Publicado: Martes 24 Jun 2014 16:23

Título del mensaje: métodos static

Responder citando

MODIFICADORES DE VARIABLES.

Public: Accesible por todas.

private: Sólo la clase puede acceder a la variable.

Static: Es la misma para todas las instancias de un clase.

Protected: Sólo pueden acceder las clases hijas de la clase que posee las variables.

Final: Para definir una constante.

Ninguno: Es amistoso.


MODIFICADORES DE CLASE.

Public: Accesible po todas las clases.

Final: No puede tener clases hijas.

Abstract: Sin Objetos.

Sin modificador: Accesible por todas las clases del Package..


Marcela aqui te paso unos conceptos básicos, de como comprendo yo los modificadores y espero que te sea de ayuda, sin en algo de lo expuesto estoy equivocado, que me lo corrigan, y asi aprendo yo tambien.

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Responder al Tema
Mostrar mensajes anteriores:   
Ir a:  
Todas las horas están en GMT + 2 Horas

Temas relacionados

Tema Autor Foros Respuestas Publicado
El foro no contiene ningún mensaje nuevo

NullPointerException calling static Instances

jsahara Java 3 Domingo 15 May 2016 17:50 Ver último mensaje
El foro no contiene ningún mensaje nuevo

C# metodos al final de un bloque

WhiteSkull C, C#, Visual C++ 1 Viernes 27 Feb 2015 05:26 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Animaciones de los metodos de ordenamiento burb...

Anthedox C, C#, Visual C++ 2 Lunes 06 Oct 2014 22:44 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Ayuda Metodos Estaticos :(

LBT Java 1 Domingo 24 Ago 2014 18:14 Ver último mensaje
El foro no contiene ningún mensaje nuevo

como usar un public static void en Python

Pligurta Python 0 Jueves 15 May 2014 17:41 Ver último mensaje
Panel de Control
No puede crear mensajes, No puede responder temas, No puede editar sus mensajes, No puede borrar sus mensajes, No puede votar en encuestas,