Toda aplicação em Java (e muitas outras linguagens) é organizada em camadas, que ajudam a organizar a lógica e fazem o sistema funcionar de forma integrada e harmoniosa.


🧩 O que são Classes e Objetos?


🚀 Por que usar Classes e Objetos?


🥷 Exemplo: Classe Ninja — O Molde da Aplicação


package NivelIntermediario;

public class Ninja {

    String nome;
    String aldeia;
    int idade;
    int missoes;
    char ranking;

    // Método que não retorna nada (void)
    public void SharinganAtivado() {
        System.out.println("O sharingan ativou!");
    }

    // Método que retorna uma String
    public String euSouUmNinja(){
        return "Oi, eu sou um ninja";
    }

    // Método que retorna um int
    public int missoesParaAnbu(int missoesAnbu){
        return missoesAnbu - missoes;
    }

    public int anosParaSeTornarHokage(int idadeMinimaParaSerHokage){
        return idadeMinimaParaSerHokage - idade;
    }
}


🥷 Criando Objetos Ninja Usando o Molde da Classe


package NivelIntermediario;

public class Main extends Ninja {
    public static void main(String[] args) {

        // 🔹 Ninja Naruto
        System.out.println("****************************");
        Ninja Naruto = new Ninja();
        Naruto.nome = "Naruto Uzumaki";
        Naruto.aldeia = "Konoha";
        Naruto.idade = 18;
        Naruto.missoes = 22;
        Naruto.ranking = 'A';

        System.out.println("Nome: " + Naruto.nome + "\\nAldeia: " + Naruto.aldeia + "\\nIdade: " + Naruto.idade);

        String fala = Naruto.euSouUmNinja();
        System.out.println(fala);

        int faltamMissoes = Naruto.missoesParaAnbu(30);
        System.out.println("Missões feitas: " + Naruto.missoes + ". Faltam " + faltamMissoes + " para virar ANBU!");

        int anosHokage = Naruto.anosParaSeTornarHokage(40);
        System.out.println("Idade: " + Naruto.idade + ". Faltam " + anosHokage + " anos para ser Hokage.");

        // 🔹 Ninja Sasuke
        System.out.println("****************************");
        Ninja Sasuke = new Ninja();
        Sasuke.nome = "Sasuke Uchiha";
        Sasuke.aldeia = "Konoha";
        Sasuke.idade = 19;
        System.out.println("Nome: " + Sasuke.nome + "\\nAldeia: " + Sasuke.aldeia + "\\nIdade: " + Sasuke.idade);
        Sasuke.SharinganAtivado();

        // 🔹 Ninja Kakashi
        System.out.println("****************************");
        Ninja Kakashi = new Ninja();
        Kakashi.nome = "Kakashi Hatake";
        Kakashi.aldeia = "Konoha";
        Kakashi.idade = 29;
        System.out.println("Nome: " + Kakashi.nome + "\\nAldeia: " + Kakashi.aldeia + "\\nIdade: " + Kakashi.idade);
        System.out.println("****************************");
    }
}


⚙️ Métodos e Parâmetros em Java

Métodos são blocos de código que executam ações específicas. Parâmetros tornam esses métodos flexíveis para trabalhar com diferentes dados.