Si el método en el que estamos trabajando, no usa ningún campo de un objeto de la clase en la que está, debería ser static. Por ejemplo:
Si tuviéramos este método:
public class Utilidades { public int calcularCuadrado(int i){ return i*i; } }Y, si quisiéramos usarlo, tendríamos que hacer esto:
public class Pruebas { public static void main(String[] args) { // Podríamos hacer esto (si lo vamos a usar más de una vez) Utilidades util = new Utilidades(); System.out.println(util.calcularCuadrado(2)); // O esto (si solo lo usamos aquí): System.out.println(new Utilidades().calcularCuadrado(2)); } }Pero si lo declaramos como static, puesto que no usamos ningún campo del objeto:
public static int calcularCuadrado(int i){return i*i;} public static void main(String[] args) { // Ahora nos da igual usarlo una o más veces, que así podremos hacerlo System.out.println(Utilidades.calcularCuadrado(2)); }Puede haber más casos en los que se podría usar, de hecho, seguro que los hay, pero con esto tenemos de sobra para discernir rápidamente cuando un método debería ser estático y cuando no. Usar constantes no cuenta cómo usar campos de un objeto instanciado, asique seguiría siendo static en ese caso.
Hasta aquí este breve post. Comentad más casos si se os ocurren.
No hay comentarios:
Publicar un comentario