Primeiramente, sou iniciante em programação, então não espere que eu saiba muito sobre isso.
Estou trabalhando em um projeto para meu curso de programação em ciência da computação, onde usamos o JUnit para testes fornecidos pelo professor.
Enquanto eu tentava resolver um problema, o IDE perguntou se eu gostaria de mudar para uma versão de pré-visualização do Java. Ao fazer isso, classes declaradas implicitamente foram introduzidas. Estamos construindo um projeto OOP, então há alguns arquivos contendo apenas classes, métodos de instância de construtores, bem como getter e setter para os referidos objetos. Mas nenhuma classe principal.
Agora, uma classe específica é dividida e encapsulada de alguma forma. Todos os getters acabam em uma classe "mãe" de mesmo nome, enquanto o restante (objetos, seus construtores, métodos e setters) fica em um arquivo "encapsulado" na primeira. Descrevo assim porque é visível na hierarquia em árvore à esquerda.
| |_ CustomerVO.java (classe final) | |_CustomerVO.java
O pai tem uma mensagem de passagem do mouse sinalizando que seria "classe final", embora eu nunca tenha declarado isso como tal.
Além disso, a execução do código resulta nesta mensagem de erro recorrente: "Classes declaradas implicitamente não são suportadas no nível de linguagem '23'"
Bom, claro. Eu não quero que eles sejam suportados. E eu nunca declarei uma classe implícita. Nem sei exatamente o que isso significa.
Alterei a versão do Java nas Configurações, excluí o arquivo e refiz tudo. Mesmo assim. Assim que ele contém os métodos getter, volto a essa situação estranha.
O que posso fazer?
Tentei todas as soluções mencionadas anteriormente:
- Excluindo e reescrevendo a classe
- rebaixando a versão do Java dentro do intellijIDEA
- reinstalando todo o IDE
- Perguntando ao tagarela o que fazer. A IA apenas sugere fazer algumas alterações nas configurações e ignorar mensagens de erro. Também não ajudou.
- não consegui encontrar um problema semelhante em nenhum outro lugar na web.
Para converter sua classe implícita de volta em uma classe regular:
Clique em Alt+Enter
void main()
no seu arquivo.Selecione "Converter classe declarada implicitamente em classe regular".
Para redefinir o projeto para uma versão de lançamento do Java, sem recursos de visualização:
Abra a Estrutura do Projeto (No menu, vá para Arquivo | Estrutura do Projeto ).
Em Configurações do projeto | Projeto , defina o campo SDK como o SDK que você deseja usar (estou assumindo Java 21 - 24) e defina o Nível de linguagem como "SDK padrão".
Só para ter certeza, vá para Configurações do projeto | Módulos e defina o Nível de idioma como "Padrão do projeto" aqui.