Retorno de metodo dando erro (nulo)

Sou novato em java. estou com problema em um programa. criei um metodo para retornar algo mas está retornando nulo e dando erro. vou postar o código:

public class Lutador {
    private String nome;
    private int nivel;
    private int ataque;
    private int defesa;
    private int vida;
    private int magia;
    private final Raca raca;
    private static int numLutadores;

    public Lutador() {
        this.nome = "Lutador Desconhecido";
        this.nivel = 1;
        this.ataque = 10;
        this.defesa = 10;
        this.vida = 100;
        this.magia = 10;
        this.raca = Raca.TERRESTRE;
        numLutadores++;
    }

    public Lutador(String nome, int nivel, int ataque, int defesa, int vida, int magia, Raca raca) {
        this.nome = nome;
        this.nivel = nivel;
        this.ataque = ataque;
        this.defesa = defesa;
        this.vida = vida;
        this.magia = magia;
        this.raca = raca;
        numLutadores++;
    }

    public static int getNumLutadores() {
        return numLutadores;
    }

    public static void setNumLutadores(int numLutadores) {
        Lutador.numLutadores = numLutadores;
    } 

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int getNivel() {
        return nivel;
    }

    public int getAtaque() {
        return ataque;
    }

    public int getDefesa() {
        return defesa;
    }

    public int getVida() {
        return vida;
    }

    public int getMagia() {
        return magia;
    }

    public Raca getRaca() {
        return raca;
    }


    public void atacar(Lutador oponente) {
        int dano = this.ataque - oponente.defesa;
        oponente.vida -= dano;
    }
}
public enum Raca {
    TERRESTRE("Planeta natal: Terra."),
    SAIYAJIN("Planeta natal: Vegeta."),
    NAMEKUSEIJIN("Planeta natal: Namekusei.");

    private String descricao;

    Raca(String descricao) {
        this.descricao = descricao;
    }

    public String getDescricao() {
        return descricao;
    }
}
public class Programa {
    public static void main(String[] args) {
        // Cria o primeiro lutador usando o construtor padrão
        Lutador lutador1 = new Lutador();
        lutador1.setNome("Goku");
        
        // Cria o segundo lutador usando o construtor parametrizado
        Lutador lutador2 = new Lutador("Vegeta", 5, 20, 15, 120, 20, Raca.SAIYAJIN);
        
        // Exibe informações iniciais dos lutadores
        System.out.println("Lutador 1: " + lutador1.getNome());

        // está dando erro aqui. diz que lutador1.getRaca retorna nulo sendo que defini a raça padrao como terrestre
        System.out.println("Raça: " + lutador1.getRaca().getDescricao());
       
        System.out.println("Vida: " + lutador1.getVida());
        System.out.println();
        
        System.out.println("Lutador 2: " + lutador2.getNome());

        System.out.println("Raça: " + lutador2.getRaca().getDescricao());
        
        System.out.println("Vida: " + lutador2.getVida());
        System.out.println();
        
        // Lutador 1 ataca Lutador 2
        System.out.println(lutador1.getNome() + " ataca " + lutador2.getNome());
        lutador1.atacar(lutador2);
        System.out.println("Vida de " + lutador2.getNome() + " após ataque: " + lutador2.getVida());
        System.out.println();
        
        // Lutador 2 ataca Lutador 1
        System.out.println(lutador2.getNome() + " ataca " + lutador1.getNome());
        lutador2.atacar(lutador1);
        System.out.println("Vida de " + lutador1.getNome() + " após ataque: " + lutador1.getVida());
        System.out.println();
        
        // Mostrar o número total de lutadores criados
        System.out.println("Número total de lutadores: " + Lutador.getNumLutadores());
    }
}

quando rodo esse programa da o seguinte erro:

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "Raca.getDescricao()" because the return value of "Lutador.getRaca()" is null
        at Programa.main(Programa.java:17)

Executei aqui e rodou sem problemas. Tente recompilar o código e executar de novo.

A saída da execução aqui foi essa:

Lutador 1: Goku
Raça: Planeta natal: Terra.
Vida: 100

Lutador 2: Vegeta
Raça: Planeta natal: Vegeta.
Vida: 120

Goku ataca Vegeta
Vida de Vegeta após ataque: 125

Vegeta ataca Goku
Vida de Goku após ataque: 90

Número total de lutadores: 2

Opa boa noite, também implementei o código acima e tive o mesmo resultado que foi mostrado, aconselho executar a sugestão anterior. Não Sei se pode ter haver com a versão do Java, pelo o que eu vi você está com o Java na versão 17 e eu estou com o Java na versão 23.

Desculpe não conseguir ajudar.

Pessoal, obrigado pelo retorno. Acredito então, que seja problemas com a versão do java ou alguma extensão ja que estou usando o VSCode. Vou tentar pelo netbeans ou eclipse.

farlight, vc ajudou sim, qualquer retorno é uma ajuda, vlw. Vou tentar aqui e retorno p informar se deu certo, obgdo mais uma vez.

Boa noite. Pessoal deu certo, eu fiz pelo netbeans. Acho que o problema estava com o vscode (alguma extensão). Obgdo.

De nada, vamos todos manter foco e constância nos estudos, tambémm estou nessa jornada e que bom que consegui te ajudar de alguma forma.

Uma dica que dou é usar o IntelliJ versao community. Atende muito bem msm sendo a versão gratuita.

Oi, obgdo pelo retorno, eu utilizei o netBeans e deu certo, vlw👍