freeCodeCamp/guide/portuguese/java/methods/index.md

4.3 KiB
Raw Blame History

title localeTitle
Methods Métodos

Métodos

O método mais reconhecível em Java é provavelmente public static void main(String[]args) , onde public significa que os usuários têm acesso ao método, static significa que o método é baseado em uma "classe" em vez de uma "instância", void meios que nada será retornado do método para outro método (nível superior) e main que é o nome desse método específico.

getName() e getManufacturerName() são dois métodos "Getter" que usamos aqui. Geralmente, os métodos em Java consistem nessas partes -

  • Acesse Modifer (Opcional) - public , private ou protected . Padrões para pacote privado se omitido
  • Tipo de Retorno - Isso é obrigatório, denota o valor retornado pelo método ou void se nada for retornado
  • Nome do Método - segue a convenção camelCase
  • Lista de Parâmetros - Lista de parâmetros com seus nomes e tipos, vazios se nenhum parâmetro for aceito
  • Corpo do método cercado por { }

Os métodos também podem, opcionalmente, ter a palavra-chave static , o que significa que ela está associada à própria classe, em vez de uma instância da classe, ex- public static void main() .

Observe que, diferentemente do JavaScript, temos que definir o tipo de retorno de qualquer método que escrevermos, caso contrário, ele falhará em tempo de compilação. Se você não quiser que um método retorne nada, use o tipo de retorno void .

Cada método tem uma assinatura, que é a combinação do tipo de dados, o nome e o número de argumentos que o método usa. Em public static void main o método não possui um tipo de dados especificado e, em vez disso, usa void para declarar que nenhum dado é retornado. Em um método chamado public static double ave(double val, double val) o tipo de dado é "double" (0.0), o nome é "ave" (average) e o método recebe 2 argumentos. Cada método deve ter uma assinatura exclusiva.

public class Car { 
    private String name; 
    private String manufacturersName; 
 
    public void changeName() { 
        name = "Tesla"; 
    } 
 
    public String getName(){ 
        return name; 
    } 
 
    public String getManufacurername(){ 
        return manufacturersName; 
    } 
 
 } 

Parâmetros podem ser passados para métodos. Os parâmetros são declarados logo após o nome do método, entre parênteses. A sintaxe da declaração de parâmetro é [Tipo de dados] [Nome].

public class Car { 
    private String name; 
 
    public void changeName(String newName) { 
        name = newName; 
    } 
 } 

Como acontece com qualquer outra linguagem, os métodos (ou funções, se você está aqui no mundo JS) são usados com freqüência por sua modularidade e reusabilidade.

Os métodos geralmente servem a muitos propósitos, como atualizar informações em um objeto ou fornecer dados de volta ao chamador. Aqui estão alguns exemplos.

public class Car { 
    private int numberOfWheels; 
 
    public void setNumberOfWheels(int newNumberOfWheels) { 
        numberOfWheels = newNumberOfWheels; 
    } 
 
    public int getNumberOfWheels() { 
        return numberOfWheels; 
    } 
 } 

No caso de getNumberOfWheels() o tipo de retorno é int que é um número inteiro. A palavra-chave return diz ao java para retornar o valor da variável da ocorrência numberOfWheels . setNumberOfWheels(int newNumberOfWheels) no entanto, não possui nenhum tipo de retorno, pois é um método setter como visto anteriormente. Nesse caso, ele aceita um argumento do tipo int e torna a ocorrência varible numberOfWheels igual a newNumberOfWheels .

Há também um método especial chamado construtor que permite que os dados sejam definidos ou que as operações sejam executadas quando a classe é instanciada. Este construtor não possui nenhum tipo de retorno.

public class Car { 
    private String model; 
    private int numberOfWheels; 
 
    public Car(String model, int numberOfWheels) { 
        this.model = model; 
        this.numberOfWheels = numberOfWheels; 
    } 
 } 

A classe Car e o método Car(String model, int numberOfWheels) precisam ter o mesmo nome para que o java saiba que é o construtor. Agora, sempre que você instanciar uma nova ocorrência Car com a new palavra-chave, precisará chamar esse construtor e passar os dados necessários.