Atributos estáticos de uma classe podem conservar características globais do domínio do problema. Uma classe de Pessoa pode ter constantes, por exemplo, chamadas PF = 1 e PJ = 2. Isso modela no domínio que só podem haver dois tipos de pessoas: física e jurídica.
Você também pode ter também um método estático chamado find, que retorna uma lista de pessoas com determinados critérios de busca.
Os dois exemplos que eu dei extrapolam as características de determinada instância, mas ainda se concentram no domínio do assunto de pessoas. É justo estar modelado na classe Pessoa.
Esse find()
procura pessoas onde?
De fato poderia ter constantes (final
) para dar nomes aos números para o tipo de pessoa, se o requisito indicar isso. Também pode ser um erro também colocar os dois tipos (ou outros, e tem) ter mais de um tipo na mesma classe, então Pessoa
seria abstrata para apenas classes concretas de cada tipo herdar, se o requisito pedir, e se ele for real, costuma pedir.