Latest web development tutorials

método Java

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 ().

Entonces, ¿cuál es la manera de hacer eso?

método Java es un conjunto de declaraciones que en conjunto realizan una función.

  • El método es una combinación ordenada para resolver una clase de problemas paso
  • Los métodos incluyen en la clase u objeto
  • El método fue creado en el programa, hace referencia en otros lugares

métodos definidos

En general, la definición de un método que comprende la siguiente sintaxis:

修饰符 返回值类型 方法名 (参数类型 参数名){
    ...
    方法体
    ...
    return 返回值;
}

El método incluye una cabecera método y un cuerpo de método. Aquí son todos parte de un proceso:

  • Modificador: modificador, que es opcional, para decirle al compilador cómo llamar al método. Define el tipo de acceso del método.
  • Valor devuelto Tipo: método podría devolver el valor. returnValueType es un método devuelve el tipo de datos del valor. Algunos métodos de realizar la acción deseada, pero no devuelve ningún valor. En este caso, returnValueType palabra reservada void.
  • Nombre de método: el nombre real del método. nombre del método y la lista de parámetros en conjunto constituyen la firma del método.
  • Tipo de parámetro: el parámetro como un marcador de posición. Cuando se llama al método, el valor pasa al parámetro. Este valor se denomina el argumento o variable. Lista de parámetros es el número de tipo de parámetro del método, el orden y los parámetros. El parámetro es opcional, el método no puede contener ningún parámetro.
  • Método de cuerpo: El método comprende una declaración específica para definir la función del método.

Tales como:

public static int age(int birthday){...}

Usted puede tener más de un parámetro:

static float interest(float principal, int year){...}

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.

Ejemplos

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; 
}

método de Invocación

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!");

ejemplo

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.


palabra clave void

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.

ejemplo

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.


Paso de parámetros por valor

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);
}

ejemplo

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.


Los métodos sobrecargados

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.


Mira variable

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.

El uso de los parámetros de línea de comandos

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.

Ejemplos

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

constructor

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.

Ejemplos

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.

Ejemplos

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

parámetro variable

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:

typeName... parameterName

En la declaración de método, el parámetro especifica el tipo después de añadir puntos suspensivos (...).

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.

Ejemplos

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( double... 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

ultimar el método ()

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.

Ejemplos

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