Métodos en Java

Un método en Java o Java Method es una colección de declaraciones que realizan alguna tarea específica y devuelven el resultado a la persona que llama. Un método Java puede realizar alguna tarea específica sin devolver nada. Los métodos en Java nos permiten reutilizar el código sin volver a escribir el código. En Java, cada método debe ser parte de alguna clase que sea diferente de lenguajes como C, C++ y Python. 

Nota: Los métodos ahorran tiempo y nos ayudan a reutilizar el código sin tener que volver a escribirlo. 

Declaración de método

En general, las declaraciones de métodos tienen seis componentes:  

1. Modificador: Define el tipo de acceso del método, es decir, desde dónde se puede acceder en su aplicación. En Java, hay 4 tipos de especificadores de acceso. 

  • public: Es accesible en todas las clases de su aplicación.
  • protegido: Es accesible dentro de la clase en la que se define y en su/s subclase/s
  • privado: Sólo es accesible dentro de la clase en la que está definido.
  • por defecto: Se declara/define sin utilizar ningún modificador. Es accesible dentro de la misma clase y paquete dentro del cual se define su clase.

2. El tipo de devolución: el tipo de datos del valor devuelto por el método o nulo si no devuelve un valor.

3. Nombre del método: las reglas para los nombres de los campos también se aplican a los nombres de los métodos, pero la convención es un poco diferente.

4. Lista de parámetros: Se define una lista separada por comas de los parámetros de entrada, precedidos por su tipo de datos, dentro del paréntesis adjunto. Si no hay parámetros, debe usar paréntesis vacíos().

5. Lista de excepciones: las excepciones que espera que el método pueda arrojar, puede especificar estas excepciones.

6. Cuerpo del método: se encierra entre llaves. El código que necesita ejecutar para realizar las operaciones previstas.

methods in java

Tipos de métodos en Java

Hay dos tipos de métodos en Java:

1. Método predefinido: en Java, los métodos predefinidos son el método que ya está definido en las bibliotecas de clases de Java y se conoce como métodos predefinidos. También se conoce como método de biblioteca estándar o método incorporado . Podemos usar directamente estos métodos simplemente llamándolos en el programa en cualquier momento. 

2. Método definido por el usuario: el método escrito por el usuario o el programador se conoce como método definido por el usuario . Estos métodos se modifican según el requisito.

Firma del método

Consiste en el nombre del método y una lista de parámetros (número de parámetros, tipo de parámetros y orden de los parámetros). El tipo de devolución y las excepciones no se consideran parte de la misma. 

Método Firma de la función anterior:  

 max(int x, int y) Number of parameters is 2, Type of parameter is int.

¿Cómo nombrar un método?

El nombre de un método suele ser una sola palabra que debe ser un verbo en minúsculas o varias palabras, que comienza con un verbo en minúsculas seguido de un adjetivo, sustantivo… Después de la primera palabra, la primera letra de cada palabra debe estar en mayúscula . 

Reglas para nombrar un método

  • Al definir un método, recuerde que el nombre del método debe ser un verbo y debe comenzar con una letra minúscula .
  • Si el nombre del método tiene más de dos palabras, el primer nombre debe ser un verbo seguido de un adjetivo o sustantivo.
  • En el nombre de método de varias palabras, la primera letra de cada palabra debe estar en mayúsculas excepto la primera palabra. Por ejemplo, findSum, computeMax, setX y getX.

Generalmente, un método tiene un nombre único dentro de la clase en la que está definido, pero a veces un método puede tener el mismo nombre que otros nombres de métodos dentro de la misma clase, ya que Java permite la sobrecarga de métodos .

Método de llamada

El método necesita ser llamado para usar su funcionalidad. Puede haber tres situaciones cuando se llama a un método: 
Un método vuelve al código que lo invocó cuando:  

  • Completa todas las sentencias del método.
  • Llega a una declaración de devolución.
  • Lanza una excepción

Ejemplo:

Java

// Java Program to Illustrate Methods
 
// Importing required classes
import java.io.*;
 
// Class 1
// Helper class
class Addition {
 
    // Initially taking sum as 0
    // as we have not started computation
    int sum = 0;
 
    // Method
    // To add two numbers
    public int addTwoInt(int a, int b)
    {
 
        // Adding two integer value
        sum = a + b;
 
        // Returning summation of two values
        return sum;
    }
}
 
// Class 2
// Helper class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Creating object of class 1 inside main() method
        Addition add = new Addition();
 
        // Calling method of above class
        // to add two integer
        // using instance created
        int s = add.addTwoInt(1, 2);
 
        // Printing the sum of two numbers
        System.out.println("Sum of two integer values :"
                           + s);
    }
}
Producción

Sum of two integer values :3

Ejemplo 2:

Java

// Java Program to Illustrate Method Calling
// Via Different Ways of Calling a Method
 
// Importing required classes
import java.io.*;
 
// Class 1
// Helper class
class Test {
 
    public static int i = 0;
 
    // Constructor of class
    Test()
    {
 
        // Counts the number of the objects of the class
        i++;
    }
 
    // Method 1
    // To access static members of the class and
    // and for getting total no of objects
    // of the same class created so far
    public static int get()
    {
 
        // statements to be executed....
        return i;
    }
 
    // Method 2
    // Instance method calling object directly
    // that is created inside another class 'GFG'.
 
    // Can also be called by object directly created in the
    // same class and from another method defined in the
    // same class and return integer value as return type is
    // int.
    public int m1()
    {
 
        // Display message only
        System.out.println(
            "Inside the method m1 by object of GFG class");
 
        // Calling m2() method within the same class.
        this.m2();
 
        // Statements to be executed if any
        return 1;
    }
 
    // Method 3
    // Returns nothing
    public void m2()
    {
 
        // Print statement
        System.out.println(
            "In method m2 came from method m1");
    }
}
 
// Class 2
// Main class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Creating object of above class inside the class
        Test obj = new Test();
 
        // Calling method 2 inside main() method
        int i = obj.m1();
 
        // Display message only
        System.out.println(
            "Control returned after method m1 :" + i);
 
        // Call m2() method
        // obj.m2();
        int no_of_objects = Test.get();
 
        // Print statement
        System.out.print(
            "No of instances created till now : ");
       
        System.out.println(no_of_objects);
    }
}
Producción

Inside the method m1 by object of GFG class
In method m2 came from method m1
Control returned after method m1 :1
No of instances created till now : 1

El flujo de control del programa anterior es el siguiente:

methods in java

Asignación de memoria para llamadas a métodos

Las llamadas a métodos se implementan a través de una pila. Cada vez que se llama a un método, se crea un marco de pila dentro del área de la pila y, después de eso, los argumentos pasados ​​y las variables locales y el valor que devolverá este método llamado se almacenan en este marco de pila y cuando finaliza la ejecución del método llamado. , el marco de pila asignado se eliminaría. Hay un registro de puntero de pila que rastrea la parte superior de la pila que se ajusta en consecuencia.

Artículos relacionados:  

Este artículo es una contribución de Nitsdheerendra . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *