El mejor tutorial de método Java en 2024. En este tutorial podrás aprender métodos definidos,método de Invocación,palabra clave void,Paso de parámetros por valor,Los métodos sobrecargados,Mira variable,El uso de los parámetros de línea de comandos,constructor,parámetro variable,ultimar el método (),
En los primeros capítulos, que a menudo utilizan a System.out.println (), entonces ¿qué es?
println () es un método (método), y el sistema es el sistema de la clase (clase), hacia fuera es el objeto de salida estándar (Objeto). El uso de esta declaración es llamar al sistema de clases del sistema de salida estándar objeto out método println ().
método Java es un conjunto de declaraciones que en conjunto realizan una función.
En general, la definición de un método que comprende la siguiente sintaxis:
修饰符 返回值类型 方法名 (参数类型 参数名){ es. 方法体 es. return 返回值; }
El método incluye una cabecera método y un cuerpo de método. Aquí son todos parte de un proceso:
Tales como:
public static int age(int birthday){es.}
Usted puede tener más de un parámetro:
static float interest(float principal, int year){es.}
Nota: En algún otro método idiomas se refiere al proceso y funciones. Un tipo de retorno no nula del valor de retorno de la llamada método de la función; método devuelve un valor de retorno del tipo void llamado proceso.
El siguiente método contiene dos parámetros num1 y num2, devuelve el valor máximo de estos dos parámetros.
/** 返回两个整型变量数据的较大值 */ public static int max(int num1, int num2) { int result; if (num1 > num2) result = num1; else result = num2; return result; }
Java soporta dos modos de invocar un método, en función de si el valor de retorno del método para seleccionar.
Cuando el programa llama a un método, un programa para controlar el método se llama. Cuando se ejecuta la instrucción de retorno de llamada método o hasta que el cuerpo del método cuando el cierre de control de retorno paréntesis para el programa.
Cuando el método devuelve un valor, la invocación del método es tratado generalmente como un valor. Por ejemplo:
int larger = max(30, 40);
Si el valor devuelto es void, la llamada al método debe ser una declaración. Por ejemplo, el método println regresa vacía. La siguiente llamada es una declaración:
System.out.println("Welcome to Java!");
El siguiente ejemplo muestra cómo definir un método, y cómo lo llaman:
public class TestMax { /** 主方法 */ public static void main(String[] args) { int i = 5; int j = 2; int k = max(i, j); System.out.println("The maximum between " + i + " and " + j + " is " + k); } /** 返回两个整数变量较大的值 */ public static int max(int num1, int num2) { int result; if (num1 > num2) result = num1; else result = num2; return result; } }
Los ejemplos anteriores resultados compilados son los siguientes:
The maximum between 5 and 2 is 5
Este programa contiene un método principal y el método de máx. JVM método principal se invoca, además, el principal y otros métodos no hay diferencia.
Con la cabeza principal método es el mismo que el ejemplo mostrado, con modificadores públicos y estáticos, el valor de tipo de retorno void, nombre del método es el principal, además con un un String [] parámetros de tipo. String [] que el argumento es una matriz de cadenas.
En esta sección se explica cómo declarar y llamar a un método vacío.
El ejemplo siguiente se declara un método denominado printGrade, y lo llaman para imprimir una puntuación determinada.
public class TestVoidMethod { public static void main(String[] args) { printGrade(78.5); } public static void printGrade(double score) { if (score >= 90.0) { System.out.println('A'); } else if (score >= 80.0) { System.out.println('B'); } else if (score >= 70.0) { System.out.println('C'); } else if (score >= 60.0) { System.out.println('D'); } else { System.out.println('F'); } } }
Los ejemplos anteriores resultados compilados son los siguientes:
C
Aquí método printGrade es un método de tipo void, no devuelve un valor.
Una llamada de método vacío debe ser una declaración. Por lo tanto, es el método principal de la tercera línea llama en la forma de la declaración. Al igual que cualquier declaración termina con un punto y coma similares.
Llamar a un método cuando se necesita para proporcionar los parámetros, debe proporcionar la lista de parámetros de acuerdo con el orden especificado.
Por ejemplo, el siguiente método de continua N veces imprime un mensaje:
public static void nPrintln(String message, int n) { for (int i = 0; i < n; i++) System.out.println(message); }
El siguiente ejemplo ilustra el efecto pasa por valor.
El programa crea un método que se utiliza para el intercambio de dos variables.
public class TestPassByValue { public static void main(String[] args) { int num1 = 1; int num2 = 2; System.out.println("Before swap method, num1 is " + num1 + " and num2 is " + num2); // 调用swap方法 swap(num1, num2); System.out.println("After swap method, num1 is " + num1 + " and num2 is " + num2); } /** 交换两个变量的方法 */ public static void swap(int n1, int n2) { System.out.println("\tInside the swap method"); System.out.println("\t\tBefore swapping n1 is " + n1 + " n2 is " + n2); // 交换 n1 与 n2的值 int temp = n1; n1 = n2; n2 = temp; System.out.println("\t\tAfter swapping n1 is " + n1 + " n2 is " + n2); } }
Los ejemplos anteriores resultados compilados son los siguientes:
Before swap method, num1 is 1 and num2 is 2 Inside the swap method Before swapping n1 is 1 n2 is 2 After swapping n1 is 2 n2 is 1 After swap method, num1 is 1 and num2 is 2
Pasar dos parámetros de llamada a un método de intercambio. Curiosamente, después de que el método se llama, el valor del argumento no ha cambiado.
max método utiliza la anterior sólo se aplica a tipo de datos int. Pero si se quiere obtener el valor máximo de dos datos de coma flotante que escriba?
La solución es crear otro parámetro con el mismo nombre pero con un método diferente, como se muestra en el siguiente código:
public static double max(double num1, double num2) { if (num1 > num2) return num1; else return num2; }
Si se llama al método max se pasa un parámetro int, se invoca el método max del argumento int;
Si se aprueba parámetro de tipo doble, el tipo de método de doble experiencia max se llama, esto se llama sobrecarga de métodos;
Que dos métodos de una clase tienen el mismo nombre, pero con diferente lista de parámetros.
compilador Java de acuerdo con la firma del método para determinar qué método debe ser llamado.
La sobrecarga de métodos puede hacer que el programa sea más legible. El método de ejecución es de cerca las tareas relacionadas deben utilizar el mismo nombre.
Los métodos sobrecargados deben tener diferente lista de parámetros. No se puede simplemente sobre la base de diferentes tipos de modificadores o volver a métodos sobrecargados.
variable de rango es parte del programa donde se puede hacer referencia a la variable.
Las variables dentro de definición del método se llaman variables locales.
Ámbito de una declaración de variables locales desde el inicio hasta el final del bloque que lo contiene.
Las variables locales deben ser declaradas antes de que puedan ser utilizados.
El método para cubrir toda la gama de parámetros de método. El parámetro es en realidad una variable local.
parte variable de la inicialización para la sentencia de bucle, el alcance de su papel en el ciclo.
Pero la declaración cuerpo del bucle variable es una declaración de su ámbito de él hasta el final del bucle. Contiene una variable declarada como sigue:
Se puede de alguna manera, los diferentes bloques no anidados declarar en repetidas ocasiones una variable local con el mismo nombre, pero no se pueden anidar en el bloque dos veces para declarar variables locales.
A veces desea ejecutar un programa cuando se hace pasar a continuación el mensaje. Esto depende de pasar argumentos de línea de comando para la función main () de lograr.
argumento de la línea de comandos es seguido por información sobre el tiempo de ejecución después de que el nombre del programa.
El siguiente programa imprime todos los argumentos de línea de comandos:
public class CommandLine { public static void main(String args[]){ for(int i=0; i<args.length; i++){ System.out.println("args[" + i + "]: " + args[i]); } } }
Como se muestra a continuación, ejecute el programa:
java CommandLine this is a command line 200 -100
Los resultados son como sigue:
args[0]: this args[1]: is args[2]: a args[3]: command args[4]: line args[5]: 200 args[6]: -100
Cuando se crea un objeto cuando el constructor se utiliza para inicializar el objeto. Y es en el constructor de la clase del mismo nombre, pero el constructor no tiene valor de retorno.
A menudo utilizar el constructor para una instancia de clase los valores iniciales de variables, o llevar a cabo otros pasos necesarios para crear un objeto completo.
Sea o no usted es un constructor de encargo, todas las clases tienen constructor porque Java proporciona automáticamente un constructor por defecto, que todos los miembros se inicializan a cero.
Una vez que haya definido su propio constructor, el constructor por defecto se producirá un error.
He aquí un ejemplo del uso del constructor:
// 一个简单的构造函数 class MyClass { int x; // 以下是构造函数 MyClass() { x = 10; } }
Puede llamar al igual que este constructor para inicializar un objeto:
public class ConsDemo { public static void main(String args[]) { MyClass t1 = new MyClass(); MyClass t2 = new MyClass(); System.out.println(t1.x + " " + t2.x); } }
La mayoría de las veces necesitan un parámetro de constructor.
He aquí un ejemplo del uso del constructor:
// 一个简单的构造函数 class MyClass { int x; // 以下是构造函数 MyClass(int i ) { x = i; } }
Puede llamar al igual que este constructor para inicializar un objeto:
public class ConsDemo { public static void main(String args[]) { MyClass t1 = new MyClass( 10 ); MyClass t2 = new MyClass( 20 ); System.out.println(t1.x + " " + t2.x); } }
Los resultados son como sigue:
10 20
A partir de JDK 1.5, el soporte de Java que pasa el mismo tipo de parámetros variables a un método.
Declarar los parámetros variables del método son los siguientes:
typeNamees. parameterName
En la declaración de método, el parámetro especifica el tipo después de añadir puntos suspensivos (es.).
Un método puede especificar sólo un parámetro variable, tiene que ser el último método de parámetros. Cualquiera de los parámetros comunes deben ser declaradas antes de ella.
public class VarargsDemo { public static void main(String args[]) { // 调用可变参数的方法 printMax(34, 3, 3, 2, 56.5); printMax(new double[]{1, 2, 3}); } public static void printMax( doublees. numbers) { if (numbers.length == 0) { System.out.println("No argument passed"); return; } double result = numbers[0]; for (int i = 1; i < numbers.length; i++) if (numbers[i] > result) result = numbers[i]; System.out.println("The max value is " + result); } }
Los ejemplos anteriores resultados compilados son los siguientes:
The max value is 56.5 The max value is 3.0
Java le permite definir un método en el que un objeto se invoca antes de que el destructor recolector de basura (reciclaje), este método se llama finalize (), que se utiliza para limpiar los objetos recuperados.
Por ejemplo, se puede utilizar el finalize () para asegurarse de que un archivo abierto objeto está cerrado.
En el método finalize (), debe especificar la operación que se lleva a cabo cuando el objeto se destruye.
finalize () es el formato general:
protected void finalize() { // 在这里终结代码 }
Palabra clave protegida es un calificador, se asegura que el método finalize () no se llama el código fuera de la clase.
Por supuesto, la recolección de basura de Java se puede hacer de forma automática por la JVM. Si utiliza el manual, puede utilizar el método anterior.
public class FinalizationDemo { public static void main(String[] args) { Cake c1 = new Cake(1); Cake c2 = new Cake(2); Cake c3 = new Cake(3); c2 = c3 = null; System.gc(); //调用Java垃圾收集器 } } class Cake extends Object { private int id; public Cake(int id) { this.id = id; System.out.println("Cake Object " + id + "is created"); } protected void finalize() throws java.lang.Throwable { super.finalize(); System.out.println("Cake Object " + id + "is disposed"); } }
Ejecutar el código anterior, los resultados de salida son los siguientes:
C:\1>java FinalizationDemo Cake Object 1is created Cake Object 2is created Cake Object 3is created Cake Object 3is disposed Cake Object 2is disposed