Todas as classes no Java seguem a mesma estrutura básica mostrada abaixo:
<modificador de acesso> class <nome da classe>
{     // corpo da classe
      <atributos>
      <construtores>
      <métodos>
}

Modificadores de acesso para as classes

O modificador de acesso define a visibilidade da classe em relação ao resto do programa. Para as classes existem duas opções possíveis:
  • public: é o único modificador permitido para classes. Se a classe é pública, ela é visível para todas as outras classes. Uma classe pública deve ser definida dentro de um arquivo fonte com o mesmo nome que a classe. Um arquivo fonte pode conter muitas classes, mas apenas UMA classe pode ser pública.
  • sem modificador (omitido): Neste caso a classe fica com o acesso padrão, então só pode ser acessada pelas classes dentro do mesmo pacote.

Modificadores de acesso para atributos e métodos

Atributos, métodos e construtores também podem ter a sua visibilidade afetada por um modificador, mas para estes elementos o java define quatro opções:
  • public: Sem restrição. Pode ser acessado por qualquer classe.
  • protected: pode ser acessado pelas classes do mesmo pacote e pelas classes descendentes.
  • private: visível apenas para a própria classe.
  • sem modificador (omitido): visível apenas para as classes do mesmo pacote.
.

Convenções para nomes de classes, métodos e atributos

O Java utiliza algumas convenções para os nomes de classes e métodos, que embora não sejam obrigatórias, é altamente recomendado segui-las a fim de facilitar o entendimento do programa. A primeira e mais importante é que todo nome de classe inicia com uma letra maiúscula seguida por letras minúsculas (exemplo: Funcionario). Se o nome da classe for formado por duas ou mais palavras juntas, então a primeira letra de cada palavra fica em maiúscula (Exemplo: FuncionarioProducao). Evite o uso de caracteres especiais ou acentuados como ç, á, õ, etc.

Os nomes de métodos e atributos iniciam com letras minúsculas (exemplo: get( )), mas se forem formados por duas ou mais palavras, as outras palavras iniciam com letras maiúsculas (exemplo: getNome( )).


Estas convenções foram sugeridas pelos projetistas da linguagem Java e podem ser encontradas no documento Java Code Conventions.