Exercício Atributos de Classe (Apostila Caelum)

Enunciado:

Adicione um atributo na classe Funcionario de tipo int que se chama identificador. Esse identificador deve ter um valor único para cada instância do tipo Funcionario. O primeiro Funcionario instanciado tem identificador 1, o segundo 2, e assim por diante. Faça com que sua classe Funcionario possa receber, opcionalmente, o nome do Funcionario durante a criação do objeto.

Eu resolvi da seguinte forma:

class Funcionario {
    // ...
    private int identificador;
    private static int sequenciaId;

    public Funcionario() {
        identificador = ++sequenciaId;
    }

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

    public int getIdentificador() {
        return identificador;
    }
 
}

Como sou novato em Java, sempre me pergunto se não existe uma forma mais fácil de resolver os problemas nessa linguagem. Existe?

Tbm penso bastente nisso, se da pra melhorar algo, se é a forma “mais inteligente”.
Acho que assim é a maneira mais simplificada…

[code]class Funcionario {
// …
private static int identificador;

public Funcionario(String nome) {  
    ++identificador;
     this.nome = nome;

}

public int getIdentificador() {  
    return identificador;  
}  

} [/code]

RodrigoKaos,

Da forma como você fez, o atributo estático vai armazenar apenas o número de funcionários instanciados, não?
O exercício pede que cada funcionário tenha um identificador único.

É vdd, faltou atenção na hr de ler o enunciado…