Em geral, um método é uma forma de realizar alguma tarefa. Da mesma forma, o método em Java é uma coleção de instruções que executa uma tarefa específica. Ele fornece a reutilização do código. Também podemos modificar facilmente o código usando métodos . Nesta seção, aprenderemos o que é um método em Java, tipos de métodos, declaração de método, e como chamar um método em Java .
O que é um método em Java?
A método é um bloco de código ou coleção de instruções ou um conjunto de códigos agrupados para executar uma determinada tarefa ou operação. É usado para alcançar o reutilização de código. Escrevemos um método uma vez e o usamos muitas vezes. Não precisamos escrever código repetidamente. Também fornece o modificação fácil e legibilidade de código, apenas adicionando ou removendo um pedaço de código. O método é executado somente quando o chamamos ou invocamos.
O método mais importante em Java é o principal() método. Se você quiser ler mais sobre o método main(), acesse o link https://www.javatpoint.com/java-main-method .
Declaração de Método
A declaração do método fornece informações sobre os atributos do método, como visibilidade, tipo de retorno, nome e argumentos. Possui seis componentes conhecidos como cabeçalho do método , como mostramos na figura a seguir.
Assinatura do Método: Todo método possui uma assinatura de método. Faz parte da declaração do método. Inclui o nome do método e lista de parâmetros .
Especificador de acesso: O especificador ou modificador de acesso é o tipo de acesso do método. Ele especifica a visibilidade do método. Java fornece quatro tipos de especificador de acesso:
Tipo de retorno: Tipo de retorno é um tipo de dados que o método retorna. Pode ter um tipo de dados primitivo, objeto, coleção, void, etc. Se o método não retornar nada, usamos a palavra-chave void.
exclusão de uma árvore de pesquisa binária
Nome do método: É um nome exclusivo usado para definir o nome de um método. Deve corresponder à funcionalidade do método. Suponha que, se estivermos criando um método para subtração de dois números, o nome do método deve ser subtração(). Um método é invocado pelo seu nome.
Lista de parâmetros: É a lista de parâmetros separados por vírgula e entre parênteses. Ele contém o tipo de dados e o nome da variável. Caso o método não possua parâmetro, deixe os parênteses em branco.
Corpo do método: Faz parte da declaração do método. Ele contém todas as ações a serem executadas. Ele está incluído no par de chaves.
Nomeando um Método
Ao definir um método, lembre-se que o nome do método deve ser um verbo e comece com um minúscula carta. Se o nome do método tiver mais de duas palavras, o primeiro nome deverá ser um verbo seguido de adjetivo ou substantivo. No nome do método com várias palavras, a primeira letra de cada palavra deve estar em maiúsculas exceto a primeira palavra. Por exemplo:
Nome do método de palavra única: soma(), área()
Nome do método com várias palavras: areaOfCircle(), stringComparision()
Também é possível que um método tenha o mesmo nome que outro nome de método na mesma classe, é conhecido como sobrecarga de método .
Tipos de método
Existem dois tipos de métodos em Java:
- Método Predefinido
- Método definido pelo usuário
Método Predefinido
Em Java, métodos predefinidos são os métodos que já estão definidos nas bibliotecas de classes Java, conhecidos como métodos predefinidos. Também é conhecido como método de biblioteca padrão ou método embutido . Podemos usar esses métodos diretamente apenas chamando-os no programa a qualquer momento. Alguns métodos predefinidos são comprimento(), igual(), compareTo(), sqrt(), etc. Quando chamamos qualquer um dos métodos predefinidos em nosso programa, uma série de códigos relacionados ao método correspondente é executado em segundo plano, que já está armazenado na biblioteca.
Todo e qualquer método predefinido é definido dentro de uma classe. Como imprimir() método é definido no java.io.PrintStream aula. Ele imprime a instrução que escrevemos dentro do método. Por exemplo, imprimir('Java') , ele imprime Java no console.
Vamos ver um exemplo do método predefinido.
Demo.java
public class Demo { public static void main(String[] args) { // using the max() method of Math class System.out.print('The maximum number is: ' + Math.max(9,7)); } }
Saída:
The maximum number is: 9
No exemplo acima, usamos três métodos predefinidos principal(), imprimir(), e máximo() . Usamos esses métodos diretamente, sem declaração, porque eles são predefinidos. O método print() é um método de ImprimirStream classe que imprime o resultado no console. O método max() é um método do Matemática classe que retorna o maior de dois números.
Também podemos ver a assinatura de qualquer método predefinido usando o link https://docs.oracle.com/ . Quando acessamos o link e vemos a assinatura do método max(), encontramos o seguinte:
Na assinatura do método acima, vemos que a assinatura do método possui especificador de acesso público , modificador sem acesso estático , tipo de retorno interno , nome do método máximo(), lista de parâmetros (int a, int b). No exemplo acima, em vez de definir o método, apenas invocamos o método. Esta é a vantagem de um método predefinido. Isso torna a programação menos complicada.
Da mesma forma, também podemos ver a assinatura do método print().
Método definido pelo usuário
O método escrito pelo usuário ou programador é conhecido como um definido pelo usuário método. Esses métodos são modificados de acordo com a necessidade.
Como criar um método definido pelo usuário
Vamos criar um método definido pelo usuário que verifica se o número é par ou ímpar. Primeiro, definiremos o método.
//user defined method public static void findEvenOdd(int num) { //method body if(num%2==0) System.out.println(num+' is even'); else System.out.println(num+' is odd'); }
Definimos o método acima chamado findevenodd(). Tem um parâmetro num do tipo int. O método não retorna nenhum valor, por isso usamos void. O corpo do método contém as etapas para verificar se o número é par ou ímpar. Se o número for par, ele imprime o número é par , senão imprime o número é estranho .
Como chamar ou invocar um método definido pelo usuário
Depois de definirmos um método, ele deve ser chamado. A chamada de um método em um programa é simples. Quando chamamos ou invocamos um método definido pelo usuário, o controle do programa é transferido para o método chamado.
import java.util.Scanner; public class EvenOdd { public static void main (String args[]) { //creating Scanner class object Scanner scan=new Scanner(System.in); System.out.print('Enter the number: '); //reading value from the user int num=scan.nextInt(); //method calling findEvenOdd(num); }
No trecho de código acima, assim que o compilador chegar à linha encontrarEvenOdd(num), o controle é transferido para o método e fornece a saída de acordo.
matriz de classificação java
Vamos combinar os dois trechos de código em um único programa e executá-lo.
EvenOdd.java
import java.util.Scanner; public class EvenOdd { public static void main (String args[]) { //creating Scanner class object Scanner scan=new Scanner(System.in); System.out.print('Enter the number: '); //reading value from user int num=scan.nextInt(); //method calling findEvenOdd(num); } //user defined method public static void findEvenOdd(int num) { //method body if(num%2==0) System.out.println(num+' is even'); else System.out.println(num+' is odd'); } }
Saída 1:
Enter the number: 12 12 is even
Saída 2:
Enter the number: 99 99 is odd
Vejamos outro programa que retorna um valor para o método de chamada.
No programa a seguir, definimos um método chamado adicionar() que somam os dois números. Possui dois parâmetros n1 e n2 do tipo inteiro. Os valores de n1 e n2 correspondem ao valor de a e b, respectivamente. Portanto, o método soma o valor de aeb e armazena na variável s e retorna a soma.
Adição.java
public class Addition { public static void main(String[] args) { int a = 19; int b = 5; //method calling int c = add(a, b); //a and b are actual parameters System.out.println('The sum of a and b is= ' + c); } //user defined method public static int add(int n1, int n2) //n1 and n2 are formal parameters { int s; s=n1+n2; return s; //returning the sum } }
Saída:
The sum of a and b is= 24
Método Estático
Um método que possui palavra-chave estática é conhecido como método estático. Em outras palavras, um método que pertence a uma classe e não a uma instância de uma classe é conhecido como método estático. Também podemos criar um método estático usando a palavra-chave estático antes do nome do método.
A principal vantagem de um método estático é que podemos chamá-lo sem criar um objeto. Ele pode acessar membros de dados estáticos e também alterar seu valor. É usado para criar um método de instância. Ele é invocado usando o nome da classe. O melhor exemplo de método estático é o principal() método.
Exemplo de método estático
Exibir.java
public class Display { public static void main(String[] args) { show(); } static void show() { System.out.println('It is an example of static method.'); } }
Saída:
invertendo a string em java
It is an example of a static method.
Método de instância
O método da classe é conhecido como método de instância . É um não estático método definido na classe. Antes de chamar ou invocar o método de instância, é necessário criar um objeto de sua classe. Vamos ver um exemplo de método de instância.
InstanceMethodExample.java
public class InstanceMethodExample { public static void main(String [] args) { //Creating an object of the class InstanceMethodExample obj = new InstanceMethodExample(); //invoking instance method System.out.println('The sum is: '+obj.add(12, 13)); } int s; //user-defined method because we have not used static keyword public int add(int a, int b) { s = a+b; //returning the sum return s; } }
Saída:
The sum is: 25
Existem dois tipos de método de instância:
Método de acesso: O(s) método(s) que lê(em) as variáveis de instância são conhecidos como método acessador. Podemos identificá-lo facilmente porque o método é prefixado com a palavra pegar . Também é conhecido como getters . Ele retorna o valor do campo privado. É usado para obter o valor do campo privado.
Exemplo
public int getId() { return Id; }
Método Mutador: O(s) método(s) lê(em) as variáveis de instância e também modificam os valores. Podemos identificá-lo facilmente porque o método é prefixado com a palavra definir . Também é conhecido como levantadores ou modificadores . Não retorna nada. Aceita um parâmetro do mesmo tipo de dados que depende do campo. É usado para definir o valor do campo privado.
Exemplo
public void setRoll(int roll) { this.roll = roll; }
Exemplo de método acessador e modificador
Aluno.java
public class Student { private int roll; private String name; public int getRoll() //accessor method { return roll; } public void setRoll(int roll) //mutator method { this.roll = roll; } public String getName() { return name; } public void setName(String name) { this.name = name; } public void display() { System.out.println('Roll no.: '+roll); System.out.println('Student name: '+name); } }
Método Abstrato
O método que não possui corpo de método é conhecido como método abstrato. Em outras palavras, sem implementação é conhecido como método abstrato. Sempre declara no classe abstrata . Isso significa que a própria classe deve ser abstrata se tiver um método abstrato. Para criar um método abstrato, usamos a palavra-chave abstrato .
Sintaxe
abstract void method_name();
Exemplo de método abstrato
Demo.java
abstract class Demo //abstract class { //abstract method declaration abstract void display(); } public class MyClass extends Demo { //method impelmentation void display() { System.out.println('Abstract method?'); } public static void main(String args[]) { //creating object of abstract class Demo obj = new MyClass(); //invoking abstract method obj.display(); } }
Saída:
Abstract method...
Método de fábrica
É um método que retorna um objeto para a classe à qual pertence. Todos os métodos estáticos são métodos de fábrica. Por exemplo, NumberFormat obj = NumberFormat.getNumberInstance();