¿Cómo y dónde debemos usar un modificador estático para:¿Cómo y dónde usar el modificador estático en Java?
1. Campo y
2. Método?
Para example en java.lang.Math
clase, los métodos campos como abs(), atan(), cos(), etc son estáticos, es decir que se puede acceder a: Math.abs()
Pero por qué es una buena práctica?
Digamos, no lo mantengo estático y creo un objeto de la clase y accedo a él, que de todas formas puedo, solo recibiré una advertencia de que estás intentando acceder a un método estático de una manera no estática (como lo señala @duffymo, no en el caso de la clase de Matemáticas).
ACTUALIZACIÓN 1:
Así, método de utilidad, debe ser estática, es decir, cuyo trabajo es sólo depende de los parámetros del método. Entonces, por ejemplo, ¿el método updateString(String inputQuery, String highlightDoc)
debería haber sido un método estático en this question?
por favor revise mi actualización. ¿Puedes darnos alguna información sobre el método de ejemplo que publiqué en mi pregunta? Que también es un método de utilidad – zengr
@zengr: Sí, haría ese método estático. Puede imaginar, por ejemplo, una clase StringHelper que incluya todas las operaciones de manipulación de Cadenas específicas de la aplicación (como la realizada por ese método). De hecho, pondría _any_ method static si no hace referencia a la palabra clave 'this'; no es necesario crear una copia de este método en cada objeto, es más legible de esta manera, y es bueno para la claridad del diseño general de OMI. – Alex