[El JavaSE] Método

El método básico de uso

¿Cuál es el método

El método es un fragmento de código. Similar a la "función" lenguaje C

  1. Es capaz de código de organización modular (el tamaño del código es más complicado cuando el tiempo).
  2. La reutilización de código se hace esto, el código puede ser utilizado en una pluralidad de posiciones.
  3. Hacer que el código sea más fácil de comprender mejor

Por ejemplo: para lograr un método implementado por la adición de dos números enteros

public class Solution {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
    // 方法的调用
        int ret = add(a, b);
        System.out.println("ret = " + ret);
    }
    // 方法的定义
    public static int add(int x, int y) {
        return x + y;
    }
}
  1. Cuando el método de definición, puede haber ningún parámetro. Para especificar el tipo de cada parámetro
  2. Cuando la definición del método, no puede devolver el valor, si no devuelve ningún valor, el valor se debe escribir el tipo de retorno void
  3. Parámetro se denomina "parámetro" se define método, el parámetro referido como "argumentos" cuando se llama al método.
  4. Definición del método debe estar en clase, escribir el código para llamar a la ubicación en la parte superior o inferior de la lata

Relación de los argumentos y parámetros

Echemos un vistazo a un ejemplo:

public class Solution {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        swap(a, b);
        System.out.println("a = " + a + " b = " + b);
    }
    public static void swap(int x, int y) {
        int tmp = x;
        x = y;
        y = tmp;
    }
}

Aquí Insertar imagen Descripción
Nos fijamos en el código generación, el intercambio de datos no se ha completado.
Razones: para un tipo de base, el parámetro correspondiente al argumento, es decir copias. Llamada por

Solución: pasar un parámetro de tipo de referencia (tales como matriz para resolver este problema)

public class Solution {
    public static void main(String[] args) {
        int[] arr = {10, 20};
        swap(arr);
        System.out.println("a = " + arr[0] + " b = " + arr[1]);
    }
    public static void swap(int[] arr) {
        int tmp = arr[0];
        arr[0] = arr[1];
        arr[1] = tmp;
    }
}

Aquí Insertar imagen Descripción
Cuando el parámetro es el tipo de datos de base, se pasa el valor (o copiar el contenido de elementos). Los cambios de parámetros no afectan al argumento.
Cuando el parámetro para el tipo de datos de referencia, el valor pasado es la dirección (referencia). Los cambios de parámetros afectarán el argumento.

Los métodos sobrecargados

ventajas:

  • Resolver el problema de problemas de nomenclatura
  • La persona que llama no recuerdo demasiadas maneras de nombrar
public class Solution {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int ret = add(a, b);
        System.out.println("ret = " + ret);
        double a2 = 10.5;
        double b2 = 20.5;
        double ret2 = add(a2, b2);
        System.out.println("ret2 = " + ret2);
        double a3 = 10.5;
        double b3 = 10.5;
        double c3 = 20.5;
        double ret3 = add(a3, b3, c3);
        System.out.println("ret3 = " + ret3);
    }
    public static int add(int x, int y) {
        return x + y;
    }
    public static double add(double x, double y) {
        return x + y;
    }
    public static double add(double x, double y, double z) {
        return x + y + z;
    }
}

Añadir el nombre de la llamada al método, pero no es la adición complemento cálculo int, algunas suma doble; Algunos suma de dos números, un número calculado de tres
se añaden palabras.
El método del mismo nombre, para proporcionar diferentes versiones de realización, el método se denomina de recarga.
Nota: El orden de los tipos de datos o el número de parámetros o el parámetro de la lista de parámetros, hay al menos tan diferente.

normas sobrecargados

Por la misma clase :

  • El mismo nombre de método
  • Los diferentes parámetros del método (el número de parámetros o tipo de parámetro)
  • El tipo del valor de retorno no afecta a la recarga
public class Solution {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int ret = add(a, b);
        System.out.println("ret = " + ret);
    }
    public static int add(int x, int y) {
        return x + y;
    }
    public static double add(int x, int y) {
        return x + y;
    }
}

Aquí Insertar imagen Descripción
Cuando los dos métodos con el mismo nombre, los mismos parámetros, pero diferentes valores de retorno cuando la sobrecarga no constituye

recursiva

Una llamada de método durante la ejecución del mismo, llamado "recursiva"
Por ejemplo: N recursión factorial

public class Solution {
    public static void main(String[] args) {
        int n = 3;
        int ret = factor(n);
        System.out.println("ret = " + ret);
    }
    public static int factor(int n) {
        if (n == 1) {
            return 1;
        }
        int ret = n * factor(n - 1);
        return ret;
    }
}

Figura ejecución
Aquí Insertar imagen Descripción

Publicado 60 artículos originales · ganado elogios 23 · vistas 3313

Supongo que te gusta

Origin blog.csdn.net/weixin_44945537/article/details/104044228
Recomendado
Clasificación