O melhor tutorial método Java em 2024. Neste tutorial você pode aprender métodos definidos,Method Invocation,vazio de palavras-chave,Passando parâmetros por valor,métodos sobrecarregados,Âmbito variável,Usando os parâmetros de linha de comando,construtor,parâmetro variável,finalize () Método,
Nos primeiros capítulos, muitas vezes usamos para System.out.println (), então o que é?
println () é um método (Método), e do Sistema é a classe de sistema (Classe), a é o objeto saída padrão (Object). Uso desta declaração é chamar o Sistema de saída padrão classe do sistema objeto out método println ().
método Java é um conjunto de declarações que juntos executam uma função.
Em geral, a definição de um método compreendendo a seguinte sintaxe:
修饰符 返回值类型 方法名 (参数类型 参数名){ pt. 方法体 pt. return 返回值; }
O método inclui um cabeçalho método e um corpo de método. Aqui são todos parte de um processo:
Tais como:
public static int age(int birthday){pt.}
Você pode ter mais de um parâmetro:
static float interest(float principal, int year){pt.}
Nota: Em algum outro método idiomas refere-se ao processo e funções. Um tipo de retorno não-void do valor de retorno da chamada método da função; método retorna um valor de retorno do tipo void chamado processo.
O método a seguir contém dois parâmetros num1 e num2, ele retorna o valor máximo destes dois parâmetros.
/** 返回两个整型变量数据的较大值 */ public static int max(int num1, int num2) { int result; if (num1 > num2) result = num1; else result = num2; return result; }
Java suporta duas maneiras de chamar um método, de acordo com se o valor de retorno do método para selecionar.
Quando o programa chama um método, um programa para controlar o método é chamado. Quando instrução de retorno do método chamado é executado ou até que o corpo do método quando o fechamento de controle parêntese de retorno ao programa.
Quando o método retorna um valor, a invocação de método é geralmente tratado como um valor. Por exemplo:
int larger = max(30, 40);
Se o valor de retorno do método é nula, a chamada de método deve ser comunicado. Por exemplo, o método println retorna vazio. A chamada seguinte é uma declaração:
System.out.println("Welcome to Java!");
O exemplo a seguir mostra como definir um método, e como chamá-lo:
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; } }
Os exemplos acima são compilados os resultados como se segue:
The maximum between 5 and 2 is 5
Este programa contém um método principal e o método de máx. método JVM principal é invocado, além disso, principal e outros métodos nenhuma diferença.
Cabeça principal método é o mesmo que o exemplo mostrado, com modificadores públicos e estáticos, o valor do tipo de retorno void, nome do método é o principal, além com uma String [] parâmetros de tipo. String [] que o argumento é uma matriz de cadeias.
Esta seção explica como declarar e chamar um método vazio.
O exemplo a seguir declara um método chamado printGrade, e chamá-lo para imprimir uma determinada pontuação.
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'); } } }
Os exemplos acima são compilados os resultados como se segue:
C
Aqui método printGrade é um método do tipo void, ele não retorna um valor.
A chamada de método vazio deve ser comunicado. Portanto, é o principal método da terceira linha da chama sob a forma do mapa. Como qualquer declaração termina com um ponto e vírgula como.
Chamar um método em que você precisa para fornecer os parâmetros, você deve fornecer a lista de parâmetros de acordo com a ordem especificada.
Por exemplo, o método seguinte de n vezes contínua imprime uma mensagem:
public static void nPrintln(String message, int n) { for (int i = 0; i < n; i++) System.out.println(message); }
O exemplo a seguir ilustra o efeito passados por valor.
O programa cria um método que é utilizado para a troca de duas variáveis.
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); } }
Os exemplos acima são compilados os resultados como se segue:
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
Passar dois parâmetros para chamar o método swap. Curiosamente, após o método é chamado, o valor do argumento não mudou.
método max utiliza o acima aplica-se apenas para tipo de dados int. Mas se você deseja obter o valor máximo de dois dados de ponto flutuante digitá-lo?
A solução é criar um outro parâmetro com o mesmo nome, mas um método diferente, como mostrado no seguinte código:
public static double max(double num1, double num2) { if (num1 > num2) return num1; else return num2; }
Se você chamar o método max é passado um parâmetro int, método max do argumento int é invocado;
Se aprovada parâmetro de tipo duplo, o tipo de método de dupla experiência max é chamado, isso é chamado de sobrecarga de método;
Que os dois métodos de uma classe com o mesmo nome, mas com diferente lista de parâmetros.
compilador Java de acordo com a assinatura do método para determinar qual método deve ser chamado.
A sobrecarga de método pode tornar o programa mais legível. O método de execução é de perto tarefas relacionadas deve usar o mesmo nome.
métodos sobrecarregados devem ter diferentes lista de parâmetros. Você não pode simplesmente com base em diferentes tipos de modificadores ou retornar para métodos sobrecarregados.
variável de intervalo é parte do programa onde a variável pode ser referenciado.
Variáveis dentro de definição de método são chamados de variáveis locais.
Escopo de uma locais declarações de variáveis desde o início até o fim do bloco que o contém.
As variáveis locais devem ser declaradas antes de serem usadas.
O método de cobrir toda a gama dos parâmetros de método. O parâmetro é, na verdade, uma variável local.
parte de inicialização variável da instrução loop, o âmbito do seu papel no ciclo.
Mas a declaração corpo do loop variável é uma demonstração do seu âmbito de aplicação a partir dele para o fim do loop. Ele contém uma variável declarada como se segue:
Você pode de certa forma, os diferentes blocos não-aninhados declarar repetidamente uma variável local com o mesmo nome, mas você não pode ser aninhado dentro do bloco duas vezes para declarar variáveis locais.
Às vezes você quer executar um programa quando ele, em seguida, passou a mensagem. Isso depende de passar argumentos de linha de comando para a função main () para conseguir.
argumento de linha de comando é seguido por informações sobre o tempo de execução após o nome do programa.
O programa a seguir imprime todos os argumentos de linha de comando:
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 mostrado abaixo, execute o programa:
java CommandLine this is a command line 200 -100
Os resultados são como se segue:
args[0]: this args[1]: is args[2]: a args[3]: command args[4]: line args[5]: 200 args[6]: -100
Quando um objeto é criado quando o construtor é usado para inicializar o objeto. E é no construtor da classe com o mesmo nome, mas o construtor não tem valor de retorno.
Muitas vezes, usar o construtor para uma instância de classe valores iniciais variáveis, ou executar outras medidas necessárias para criar um objeto completo.
Querendo ou não você é um construtor personalizado, todas as classes têm construtor porque o Java fornece automaticamente um construtor padrão, que todos os membros são inicializados para zero.
Depois de ter definido o seu próprio construtor, o construtor padrão irá falhar.
Aqui está um exemplo de como usar o construtor:
// 一个简单的构造函数 class MyClass { int x; // 以下是构造函数 MyClass() { x = 10; } }
Você pode chamar como este construtor para inicializar um 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); } }
A maior parte do tempo preciso de um parâmetro de construtor.
Aqui está um exemplo de como usar o construtor:
// 一个简单的构造函数 class MyClass { int x; // 以下是构造函数 MyClass(int i ) { x = i; } }
Você pode chamar como este construtor para inicializar um 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); } }
Os resultados são como se segue:
10 20
Em JDK 1.5, o suporte Java passando o mesmo tipo de parâmetros variáveis para um método.
Declarar os parâmetros variáveis do método são como se segue:
typeNamept. parameterName
Na declaração método, o tipo de parâmetro especificado após a adição de reticências (pt.).
Um método pode especificar apenas um parâmetro variável, ele deve ser o último método parâmetro. Quaisquer parâmetros comuns devem ser declarados antes dele.
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( doublept. 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); } }
Os exemplos acima são compilados os resultados como se segue:
The max value is 56.5 The max value is 3.0
Java permite que você defina um método em que um objeto é chamado antes que o processo de destruição coletor de lixo (reciclagem), este método é chamado finalize (), que é usado para limpar os objetos recuperados.
Por exemplo, você pode usar o finalize () para garantir que um arquivo aberto objeto é fechado.
No método finalize (), você deve especificar a operação a ser executada quando o objeto é destruído.
finalize () é o formato geral:
protected void finalize() { // 在这里终结代码 }
Palavra-chave protected é um qualificador, ele garante que o método finalize () nunca é chamado o código fora da classe.
Claro, a coleta de lixo do Java pode ser feito automaticamente pelo JVM. Se você usar o manual, você pode usar o método acima.
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"); } }
Executar o código acima, os resultados da saída são os seguintes:
C:\1>java FinalizationDemo Cake Object 1is created Cake Object 2is created Cake Object 3is created Cake Object 3is disposed Cake Object 2is disposed