Métodos
Parte da seção Programação Orientada a Objetos do Journey de Java da Coddy — lição 5 de 87.
Métodos definem ações que um objeto pode realizar. Eles possuem um tipo de retorno, um nome e parâmetros opcionais.
Método sem parâmetros
public class Greeter {
public String sayHello() {
return "Hello!";
}
}Método com parâmetros e tipo de retorno
public class Calculator {
public int add(int a, int b) {
return a + b;
}
}Método void (sem valor de retorno)
public class Printer {
public void printMessage(String msg) {
System.out.println(msg);
}
}Chamando métodos
Calculator calc = new Calculator();
int result = calc.add(5, 3);
System.out.println(result); // Saída: 8O tipo de retorno informa ao Java que tipo de dado o método envia de volta. Use void quando um método realiza uma ação, mas não retorna dados.
Desafio
MédioCrie quatro métodos na classe StringHelper:
toUpperCase()— retorna o texto em maiúsculasgetLength()— retorna o comprimento do textocontains(String word)— retorna true se o texto contiver a palavrarepeat(int times)— retorna o texto repetido com espaços
Folha de consulta
Métodos definem ações que um objeto pode realizar. Eles possuem um tipo de retorno, um nome e parâmetros opcionais.
Método sem parâmetros:
public class Greeter {
public String sayHello() {
return "Hello!";
}
}Método com parâmetros e tipo de retorno:
public class Calculator {
public int add(int a, int b) {
return a + b;
}
}Método void (sem valor de retorno):
public class Printer {
public void printMessage(String msg) {
System.out.println(msg);
}
}Chamando métodos:
Calculator calc = new Calculator();
int result = calc.add(5, 3);
System.out.println(result); // Saída: 8O tipo de retorno diz ao Java que tipo de dado o método envia de volta. Use void quando um método realiza uma ação, mas não retorna dados.
Experimente você mesmo
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
StringHelper helper = new StringHelper(input);
System.out.println("Original: " + input);
System.out.println("Uppercase: " + helper.toUpperCase());
System.out.println("Length: " + helper.getLength());
System.out.println("Contains 'World': " + helper.contains("World"));
System.out.println("Repeated: " + helper.repeat(3));
}
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Programação Orientada a Objetos
1Fundamentos de POO
Arquivos ExternosIntrodução à POOClasses vs ObjetosA Palavra-chave thisMétodosCampos (Atributos)Método ConstrutorSobrecarga de ConstrutorRecapitulação - Calculadora Simples4Herança
Herança Básica (extends)A Palavra-chave superSobrescrita de Método (@Override)Encadeamento de ConstrutoresA Classe ObjectHerança Simples e MultinívelPor que não há Herança Múltipla de ClassesRecapitulação - Hierarquia de Funcionários7Métodos Especiais e a Classe Object
Método toString()equals() e hashCode()Método clone()compareTo() e ComparableInterface ComparatorRecapitulação - Ordenação Personalizada2Modificadores de Acesso e Encapsulamento
Visão Geral dos Níveis de AcessoMétodos Getter e SetterOcultação de InformaçõesA Palavra-chave finalRecapitulação - Gerenciador de Conta Bancária5Polimorfismo
Fundamentos de Sobrecarga de MétodosSobrescrita de Métodos (Tempo de Execução)Upcasting e DowncastingO Operador instanceofClasses e Métodos AbstratosRecapitulação - Calculadora de Formas8Conceitos Avançados de OOP
Composição vs HerançaAgregação vs ComposiçãoClasses Internas, Aninhadas e AnônimasEnums e Métodos de EnumRecords (Java 16+)Classes Seladas (Java 17+)11Padrões de Projeto Parte 1
Introdução aos Padrões de ProjetoPadrão SingletonPadrão FactoryPadrão BuilderPadrão ObserverPadrão Strategy3Propriedades de Classe e Membros Estáticos
Variáveis de Instância vs EstáticasMétodos EstáticosBlocos EstáticosConstantes (static final)Recapitulação - Contador e Utilitário6Interfaces e Classes Abstratas
Introdução às InterfacesImplementando InterfacesImplementação de Múltiplas InterfacesDefault e Static em InterfacesClasses Abstratas vs InterfacesInterfaces FuncionaisRecapitulação - Sistema de Pagamento9Generics
Introdução a GenericsClasses GenéricasMétodos GenéricosParâmetros de Tipos DelimitadosWildcards (?, extends, super)Recapitulação - Container Genérico12Padrões de Projeto Parte 2
Padrão CommandPadrão AdapterPadrão DecoratorPadrão Template MethodPadrão StatePadrão CompositePadrão Iterator