tags:

views:

133

answers:

1

i need to change the access modifier of one constructor in a class file... how do i do it with jad..

thanks all...

raj...

+4  A: 

Solution with JAD:

  1. Decompile the class with JAD
  2. Edit it with your favorite editor
  3. Save the file
  4. Compile it with javac

More simple solution:

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

(Your IDE will suggest the type for ctor ... otherwise change it)

Now you can invoke the constructor at runtime.

If you really need to modify the byte code, have a look at the ASM library.

Aaron Digulla
very good, except const is a reserved word in java ;)
unbeli
@unbeli: Ack.... fixed.
Aaron Digulla
thanks Aaron, you rock... Thanks a lot.. :)
Raj
Aaron, it would be so helpul of you, if yu can provide a snippet where i can make the private constructor taking no arguments accessible... i am nt able to get the proper paramater list thanks...
Raj
This article should help to get you started with reflection: http://java.sun.com/developer/technicalArticles/ALT/Reflection/
Aaron Digulla