logo

Método em Java

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.

Método em Java

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:

    Público:O método é acessível por todas as classes quando usamos o especificador público em nossa aplicação.Privado:Quando usamos um especificador de acesso privado, o método é acessível apenas nas classes em que está definido.Protegido:Quando usamos o especificador de acesso protegido, o método é acessível dentro do mesmo pacote ou subclasses em um pacote diferente.Padrão:Quando não usamos nenhum especificador de acesso na declaração do método, Java usa o especificador de acesso padrão por padrão. É visível apenas no mesmo pacote.

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:

Método em Java

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 Método Mutador

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