2010-06-09 4 views
1

мне нужно изменить модификатор доступа одного конструктора в файле класса ... как я делаю это с JAD ..редактировать файл класса Java JAD

благодарит всех ...

Raj .. .

+1

JAD - это декомпилятор, а не инструмент модификации класса. – skaffman

ответ

4

Решение с JAD:

  1. Decompile класса с JAD
  2. Редактировать это с вашим любимым редактором
  3. Сохраните файл
  4. Собирать с javac

Более простое решение:

Class<?> c = Class.forName("fully.qualified.name.of.your.Class"); 
ctor = c.getConstructor(...argument types here...); 
ctor.setAccessible(true); 

(Ваш IDE предложит тип для ctor ... в противном случае его изменения)

Теперь вам может вызвать конструктор во время выполнения.

Если вам действительно нужно изменить код байта, взгляните на the ASM library.

+0

очень хорошо, кроме const - зарезервированное слово в java;) – unbeli

+0

@unbeli: Ack .... исправлено. –

+0

спасибо Аарон, вы рок ... Спасибо большое .. :) – Raj