Esto en java
Hay toneladas de palabras clave reservadas en Java que no pueden ser utilizadas como nombres de variables o identificadores. Una de estas palabras clave de uso frecuente en Java es la palabra clave “Static”. La razón más importante por la que las palabras clave estáticas son muy usadas en Java es para gestionar eficientemente la memoria. Generalmente, si quieres acceder a variables o métodos dentro de una clase, primero necesitas crear una instancia u objeto de esa clase. Sin embargo, puede haber situaciones en las que quieras acceder sólo a un par de métodos o variables de una clase y no quieras crear una nueva instancia para esa clase sólo para acceder a estos miembros. Aquí es donde se puede utilizar la palabra clave static en Java.
En Java, es posible utilizar la palabra clave static con métodos, bloques, variables, así como con clases anidadas. En palabras sencillas, si usas la palabra clave static con una variable o un método dentro de una clase, entonces para cada instancia que crees para esa clase, estos miembros estáticos permanecen constantes y no puedes cambiarlos o modificarlos. De hecho, puedes acceder a estos miembros incluso sin crear una instancia de un objeto para esas clases. Puedes acceder a ellos simplemente utilizando el nombre de la clase. De hecho, el método main de una clase en Java suele tener una palabra clave static asociada. Pero, sí, depende de la elección del desarrollador.
Métodos estáticos vs métodos no estáticos java
En Java, los métodos de instancia están asociados a una instancia de una clase. Esto significa que el comportamiento del método puede ser particular a la instancia particular de esa clase. En cambio, los métodos estáticos están asociados a la propia clase. Por lo tanto, sus comportamientos no son específicos de la instancia, y no necesitamos instanciar la clase para ejecutarlos.
Desde el principio de Java, las interfaces sólo contenían métodos públicos abstractos. Sin embargo, la versión de Java 8 permitió que las interfaces tuvieran métodos estáticos y por defecto. Ambos métodos tienen un cuerpo, un conjunto completo de instrucciones para su comportamiento.
Podemos utilizar los métodos estáticos de las interfaces para encapsular comportamientos que no queremos que las subinterfaces o subclases sobrescriban o hereden. Además, podemos utilizar los métodos estáticos para construir utilidades reutilizables que no estén ligadas a ninguna clase o tipo específico de implementación.
Los métodos por defecto de las interfaces, como sabemos, contienen instrucciones de comportamiento por defecto, y una clase implementadora puede elegir heredarlo tal cual o proporcionar una instrucción más específica anulándolo.
Cuándo utilizar métodos estáticos
Tipos de miembros estáticos de JavaEl campo estático (variables estáticas) y el método estático son los dos tipos de miembros estáticos en java. Vamos a discutir cada miembro uno por uno.1. Campo estático: El campo estático o variables estáticas son aquellas variables que son igualmente compartidas entre todas las instancias de la clase, como los métodos estáticos también se inicializan utilizando la palabra clave static y se accede por el nombre de la clase.Cuando los miembros estáticos no han inicializado el valor inicial a los miembros estáticos el valor por defecto se inicializa automáticamente al miembro estático particular en java. Por ejemplo, el valor por defecto del tipo de datos int es 0, y el tipo de datos booleano es false.Syntax:La sintaxis de la variable estática en java es similar a la declaración de la sintaxis de la variable de instancia.static datatype variablename=value
Inicialmente, el miembro estático, es decir, el valor, no contiene ningún valor inicial, por eso se imprime 0 (valor por defecto), y en la siguiente línea, inicializamos el valor del miembro estático y luego imprimimos el valor del miembro estático.2. Método estáticoEl método estático pertenece a la clase en lugar del objeto de la clase. Están diseñados para ser compartidos entre todas las instancias de la misma clase y se accede a ellos por el nombre de la clase en particular. La palabra clave static se utiliza para declarar el método estático en java. Los métodos estáticos se discuten en detalle más adelante en el artículo.
Métodos estáticos en java
Me pregunto cuándo utilizar métodos estáticos. Digamos que tengo una clase con algunos getters y setters, un método o dos, y quiero que esos métodos sólo sean invocables en un objeto instancia de la clase. ¿Significa esto que debo utilizar un método estático?
Aunque esto podría convertirse en una versión no estática, algunos argumentarían que, dado que no hay una elección “privilegiada” de qué Coche es más importante, no debería forzar a quien llama a elegir un Coche como el objeto sobre el que invocará el método. Sin embargo, esta situación representa una fracción bastante pequeña de todos los métodos estáticos.
Ahora, más importante, ¿por qué no querrías crear un método estático? Básicamente, el polimorfismo se va por la ventana. No podrás anular el método, ni declararlo en una interfaz (antes de Java 8). Esto le quita mucha flexibilidad a tu diseño. Además, si necesitas estado, acabarás con muchos errores de concurrencia y/o cuellos de botella si no tienes cuidado.
Un método estático es un tipo de método que no necesita que se inicialice ningún objeto para ser llamado. ¿Te has dado cuenta de que static se utiliza en la función principal de Java? La ejecución del programa comienza desde ahí sin que se cree un objeto.