Как скомпилировать расширенный класс в Java?

Я хочу собрать child.java класс получить child.class, дочерний класс расширяет родительский класс. я хочу, чтобы child.class включал весь необходимый код из родительского класса, фактически я могу использовать его независимо.

Является ли это возможным?

Второй вопрос: предположим, что у нас есть библиотека.jar, содержащая a.class, b.class, c.class... я сделал обновленную версию a.class, как я могу заменить новую на оригинальный a.class в сотрясать? Является ли это возможным?

Извините за плохой английский.

1 ответ

1) как отметил Дмитрий в комментарии невозможно. Даже если ваш родительский класс абсолютно ничего не сделал, его определение все равно будет проверено, а если не найдено, ClassNotFoundException (или подобное) будет выдано

2) Конечно, возможно и полезно в некоторых ситуациях (на ум приходит исправление внешней библиотеки без перекомпиляции всего из исходных текстов) - см. Есть ли способ исправить файлы JAR? В частности, наиболее полезным (IMO) является ответ CoolBeans:

jar uf test.jar com\test\Test.class

Обратите внимание, что вы должны позаботиться о правильной упаковке. И это не будет работать, если банка подписана.

Другие вопросы по тегам