CLASS JAVA
Конвертация файлов

Конвертировать CLASS в JAVA

БЫСТРЫЙ ОТВЕТ
Возможно ли конвертировать CLASS в JAVA?
Да - CLASS конвертируется в JAVA.

Перетащите файл .class в JD-GUI, чтобы просмотреть и сохранить восстановленный исходный код Java, или запустите java -jar cfr.jar MyClass.class --outputdir ./out. Результат является приблизительным - комментарии восстановить невозможно, а имена локальных переменных обычно заменяются на сгенерированные, если класс не был скомпилирован с отладочной информацией.

Также в JAVA: JWS · SMALI · VDM

На этой странице

Протестировано на macOS, Windows и Linux
Последняя проверка: Oct 2026

Больше бесплатных конвертеров

HEIC, PNG, WEBP, MP3 и другие - все инструменты здесь бесплатны.

Открыть инструменты

Зачем конвертировать CLASS в JAVA?

Файл .class хранит скомпилированный байт-код, а не исходный код. Декомпиляция полезна, когда оригинальные файлы .java утеряны или недоступны, для аудита стороннего кода или для понимания того, что делает скомпилированный класс. Декомпилятор выполняет обратную разработку, создавая аппроксимацию оригинального исходного кода Java.

Способы конвертации CLASS в JAVA

JD-GUI OPEN-SOURCE

Перетащите файл .class в окно JD-GUI, и восстановленный исходный код появится мгновенно. Используйте File > Save All Sources для экспорта файлов .java.

CFR OPEN-SOURCE

Запустите java -jar cfr.jar MyClass.class --outputdir ./out, и декомпилированный файл .java появится в выходной папке.

IntelliJ IDEA Community FREE

Откройте или перетащите файл .class в редактор; IntelliJ автоматически декомпилирует его с помощью встроенного движка Fernflower и отобразит исходный код.

Об этих форматах

Качество и на что обратить внимание

  • Комментарии в оригинальном исходном коде удаляются компилятором и не могут быть восстановлены из байт-кода.
  • Оригинальные имена локальных переменных обычно заменяются сгенерированными именами, такими как var1, var2, если класс не был скомпилирован с отладочной информацией (javac -g).
  • Обфусцированные классы (обработанные с помощью ProGuard или R8) декомпилируются в трудночитаемый код - декомпилятор сработает, но результат будет отражать обфусцированные имена.

Часто задаваемые вопросы

Можно ли повторно скомпилировать декомпилированный исходный код Java?
Обычно да для простых классов, но сложные лямбда-выражения или сильно встроенный (inlined) код могут потребовать ручных исправлений перед успешной компиляцией.
Как узнать, какая версия Java скомпилировала класс?
Мажорная версия в заголовке .class указывает на релиз Java - например, 52 = Java 8, 61 = Java 17, 65 = Java 21.
Что если мне нужно только просмотреть байт-код, а не восстанавливать исходный код Java?
javap -c -p MyClass (входит в состав JDK) дизассемблирует байт-код в мнемоники без необходимости скачивания сторонних утилит.