Los métodos que se pueden llamar directamente se denominan Métodos de clase o estáticos, mientras que los métodos que necesitan un objeto de la clase a invocar se denominan Métodos de instancia o no estáticos.
Este artículo presentará una descripción detallada de los métodos de clase y, en este sentido, cubrirá los siguientes aspectos de los métodos de clase Java:
Empecemos!
Método de clase en Java
En general, cuando tenemos una clase, tenemos que crear un objeto de esa clase para acceder a sus métodos y otros miembros. Sin embargo, se puede acceder a los métodos de clase/estáticos dentro de la clase sin crear una instancia de esa clase.
Cómo acceder a los métodos de clase
Consideremos el ejemplo de abajo para comprender cómo crear y acceder a un método estático/de clase en Java.
Ejemplo
El fragmento de código a continuación toma dos números del usuario y realiza su adición:
clase pública addnumbersEl código completo y su salida respectiva serán algo como esto:
De la salida anterior, está claro que no hay necesidad de crear el objeto de la clase para llamar a un método estático en su lugar, se puede acceder directamente dentro de la clase.
Cómo acceder a los métodos públicos
Ahora consideremos el siguiente ejemplo para probar si se puede acceder directamente a un método público o no:
clase pública addnumbersTodo el código es el mismo que en el ejemplo anterior, excepto el modificador de acceso, pero esta vez obtenemos un error como se muestra en el siguiente fragmento de código:
Para acceder a una función no estática, primero, tenemos que crear el objeto de la clase, entonces podremos acceder al método de la clase:
El fragmento anterior verifica que cuando llamamos el método no estático con la ayuda de un objeto de clase, entonces funciona adecuadamente y proporciona la salida libre de errores.
Cómo acceder a un método desde una clase diferente
Hemos visto que un método estático no requiere que se llame ningún objeto dentro de la misma clase, sino lo que sucederá cuando tengamos múltiples clases? ¿Se invocará el método estático directamente en tal caso?? Experimentemos con eso!
Ejemplo
Consideremos que tenemos dos clases: una clase llamada "Addnumbers"Que sostendrá el método principal y el segundo es"Mis funciones" clase:
Mis funciones.Java
paquete addnumbers;Addnumbers.Java
clase pública addnumbersLlamamos al suma función del Mis funciones clase del método principal de Addnumbers clase:
Aunque el método de adición es estático, pero aún recibimos un error cuando intentamos acceder a él directamente. Esto se debe a que el método de adición no está en la misma clase. Entonces, para acceder al método de alguna otra clase tenemos que crear el objeto de esa clase, independientemente de su modificador de acceso I.mi. estática o pública.
Addnumbers.Java
clase pública addnumbersEsta vez creamos el objeto de Mis funciones clase en la función principal de Addnumbers clase y luego accedemos a la suma método con la ayuda de ese objeto:
Ahora el fragmento anterior verifica que el error ha desaparecido, y con la ayuda de la clase de objeto de myfunctions obtuvimos los resultados deseados.
Conclusión
No es posible acceder al método de clase/estática dentro de la clase al acceder a los métodos públicos sin crear el objeto no es posible. Mientras que, en el caso de múltiples clases, los métodos serán accesibles solo con la ayuda de objetos de clase, independientemente de su modificador de acceso. Este artículo proporciona una guía completa de cuáles son los métodos de clase y cómo acceder a ellos desde la misma clase y desde una clase diferente.