Conceitos e Boas Práticas em Java
Logo de Clayton Andrade

Conceitos e Boas Práticas em Java

  • Pacotes

    Pacotes em Java são usados para organizar classes em namespaces, facilitando o gerenciamento e a manutenção do código. O nome do pacote deve começar com letras minúsculas e seguir um padrão hierárquico que reflete o domínio ou a estrutura da aplicação.

    Exemplo:

    package com.exemplo.projetoexemplo;
  • Classes

    Classes em Java representam entidades ou conceitos no mundo real. O nome de uma classe deve sempre começar com uma letra maiúscula e seguir o padrão CamelCase.

    Exemplo:

    public class CursoSuperior {
        //Código ...
    }
  • Variáveis

    Variáveis em Java armazenam dados que podem ser alterados durante a execução do programa. Nomes de variáveis devem começar com letras minúsculas e seguir o padrão CamelCase.

    Exemplo:

    int numero = 10;
    String textoExemplo = "Exemplo de texto";
  • Constantes

    Constantes são valores fixos que não podem ser alterados após a sua definição. O nome de uma constante é normalmente escrito em letras maiúsculas, com palavras separadas por sublinhados.

    Exemplo:

    final double EXEMPLO_CONSTANTE_PI = 3.14159;
  • Métodos

    Métodos realizam ações em uma classe ou interagem com outros objetos. O nome de um método deve começar com uma letra minúscula e seguir o padrão CamelCase.

    Exemplo:

    public int exemploMetodoSomar(int a, int b) {
        return a + b;
    }
  • Modificadores de Acesso


    Public

    O modificador de acesso public torna o membro de uma classe (variável, método ou classe interna) acessível a partir de qualquer outro código em qualquer pacote. Qualquer classe pode acessar publicamente os membros de outra classe, independentemente de onde estejam localizadas.

    Exemplo:

    public class Pessoa {
        public String nome;
    }

    Private

    O modificador de acesso private limita o acesso ao membro apenas à própria classe. Nem mesmo outras classes no mesmo pacote podem acessar membros privados. Este modificador é utilizado para proteger os dados sensíveis e garantir que eles só sejam manipulados dentro da própria classe.

    Exemplo:

    public class ContaBancaria {
        private double saldo;
    }

    Protected

    O modificador de acesso protected permite que o membro de uma classe seja acessível dentro do mesmo pacote e por subclasses, mesmo que essas subclasses estejam em pacotes diferentes. É comumente usado em herança para permitir o acesso a membros de uma superclasse.

    Exemplo:

    public class Funcionario {
        protected String cargo;
    }

    Default

    Quando nenhum modificador de acesso é especificado, o membro da classe é considerado como tendo acesso default (também conhecido como pacote privado). Isso significa que o membro só é acessível por outras classes no mesmo pacote. Este nível de acesso é útil para agrupar funcionalidades que pertencem a um mesmo contexto sem expô-las ao resto da aplicação.

    Exemplo:

    class Pedido {
        double valorTotal;
    }
  • Encapsulamento e Ocultamento

    Encapsulamento envolve ocultar os detalhes internos de uma classe e expor apenas o necessário através de métodos públicos GETTERS e SETTERS. Isso protege os dados de modificações indesejadas.

    Exemplo:

    public class ContaBancaria {
        private double saldo;

        public void depositar(double valor) {
            saldo += valor;
        }

        public double setSaldo(Double valor) {
            this.saldo = valor;
        }

        public double getSaldo() {
            return saldo;
        }
    }
  • Construtores e Destrutores

    Construtores são métodos especiais usados para inicializar objetos. Java não possui destrutores como em C++, mas oferece o método finalize(), que é raramente utilizado devido ao coletor de lixo automático.

    Exemplo:

    public class Pessoa {
        private String nome;

        public Pessoa(String nome) {
            this.nome = nome;
        }

        @Override
        protected void finalize() {
            System.out.println("Objeto está sendo coletado.");
        }
    }

    Construtor Default

    Em Java, se você não definir nenhum construtor em uma classe, o compilador automaticamente cria um construtor default (sem parâmetros). Construtores são utilizados para inicializar objetos.

    Exemplo:

    public class Exemplo {
        // Construtor default criado automaticamente pelo compilador, mas pode ser representado por:
        public Exemplo(){
        }
    }
  • Sobrecarga de Métodos

    Sobrecarga de métodos permite que você defina múltiplos métodos com o mesmo nome, mas com diferentes assinaturas (número e/ou tipo de parâmetros).

    Exemplo:

    public class Calculadora {
        public int somar(int a, int b) {
            return a + b;
        }

        public double somar(double a, double b) {
            return a + b;
        }
    }