Métodos de clase en Java | Explicado

Métodos de clase en Java | Explicado
En Java, un método no es más que un bloque de código/declaración que se declara dentro de la clase y puede realizar diferentes acciones cuando alguien lo llama. Se pueden llamar a algunos métodos directamente con su nombre (i.mi. sin crear el objeto de clase) mientras que algunos métodos requieren instancia/objeto de la clase (i.mi. debe ser invocado con el objeto de la clase).

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:

  • ¿Qué es un método de clase?
  • Cómo acceder a los métodos de clase
  • Cómo acceder a los métodos públicos
  • Cómo acceder a un método desde una clase diferente

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 addnumbers
Public static int add (int num1, int num2)
int add = num1 + num2;
devolver agregar;

public static void main (string [] args)
int número1, número2, suma;
Scanner Scan = New Scanner (sistema.en);
Sistema.afuera.imprimir ("Ingrese el 1er número:");
número1 = escanear.nextInt ();
Sistema.afuera.imprimir ("Ingrese el segundo número:");
número2 = escanear.nextInt ();
suma = adición (número1, número2);
Sistema.afuera.println ("sum =" + sum);

El 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 addnumbers
public int addent (int num1, int num2)
int add = num1 + num2;
devolver agregar;

public static void main (string [] args)
int número1, número2, suma;
Scanner Scan = New Scanner (sistema.en);
Sistema.afuera.imprimir ("Ingrese el 1er número:");
número1 = escanear.nextInt ();
Sistema.afuera.imprimir ("Ingrese el segundo número:");
número2 = escanear.nextInt ();
suma = adición (número1, número2);
Sistema.afuera.println ("sum =" + sum);

Todo 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;
clase pública myfunctions
Public static int add (int num1, int num2)
int add = num1 + num2;
devolver agregar;

Addnumbers.Java

clase pública addnumbers
public static void main (string [] args)
int número1, número2, suma;
Scanner Scan = New Scanner (sistema.en);
Sistema.afuera.imprimir ("Ingrese el 1er número:");
número1 = escanear.nextInt ();
Sistema.afuera.imprimir ("Ingrese el segundo número:");
número2 = escanear.nextInt ();
suma = adición (número1, número2);
Sistema.afuera.println ("sum =" + sum);

Llamamos 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 addnumbers
public static void main (string [] args)
int número1, número2, suma;
Scanner Scan = New Scanner (sistema.en);
Sistema.afuera.imprimir ("Ingrese el 1er número:");
número1 = escanear.nextInt ();
Sistema.afuera.imprimir ("Ingrese el segundo número:");
número2 = escanear.nextInt ();
MyFunctions obj = new MyFunctions ();
suma = obj.adición (número1, número2);
Sistema.afuera.println ("sum =" + sum);

Esta 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.