载入中。。。 'S bLog
 
载入中。。。
 
载入中。。。
载入中。。。
载入中。。。
载入中。。。
载入中。。。
 
填写您的邮件地址,订阅我们的精彩内容:


 
原来java还有个反编译工具,可以查看类所有public和private
[ 2011/9/10 16:39:00 | By: 梦翔儿 ]
 

原来java还有个反编译工具,可以查看类所有public和private
直接上Dos测试过程:
C:\Users\jcq>javap java.util.Date
Compiled from "Date.java"
public class java.util.Date extends java.lang.Object implements java.io.Serializ
able,java.lang.Cloneable,java.lang.Comparable{
    public java.util.Date();
    public java.util.Date(long);
    public java.util.Date(int, int, int);
    public java.util.Date(int, int, int, int, int);
    public java.util.Date(int, int, int, int, int, int);
    public java.util.Date(java.lang.String);
    public java.lang.Object clone();
    public static long UTC(int, int, int, int, int, int);
    public static long parse(java.lang.String);
    public int getYear();
    public void setYear(int);
    public int getMonth();
    public void setMonth(int);
    public int getDate();
    public void setDate(int);
    public int getDay();
    public int getHours();
    public void setHours(int);
    public int getMinutes();
    public void setMinutes(int);
    public int getSeconds();
    public void setSeconds(int);
    public long getTime();
    public void setTime(long);
    public boolean before(java.util.Date);
    public boolean after(java.util.Date);
    public boolean equals(java.lang.Object);
    static final long getMillisOf(java.util.Date);
    public int compareTo(java.util.Date);
    public int hashCode();
    public java.lang.String toString();
    public java.lang.String toLocaleString();
    public java.lang.String toGMTString();
    public int getTimezoneOffset();
    public int compareTo(java.lang.Object);
    static {};
}


C:\Users\jcq>javap -private javax.swing.JButton
Compiled from "JButton.java"
public class javax.swing.JButton extends javax.swing.AbstractButton implements j
avax.accessibility.Accessible{
    private static final java.lang.String uiClassID;
    public javax.swing.JButton();
    public javax.swing.JButton(javax.swing.Icon);
    public javax.swing.JButton(java.lang.String);
    public javax.swing.JButton(javax.swing.Action);
    public javax.swing.JButton(java.lang.String, javax.swing.Icon);
    public void updateUI();
    public java.lang.String getUIClassID();
    public boolean isDefaultButton();
    public boolean isDefaultCapable();
    public void setDefaultCapable(boolean);
    public void removeNotify();
    private void writeObject(java.io.ObjectOutputStream)       throws java.io.IO
Exception;
    protected java.lang.String paramString();
    public javax.accessibility.AccessibleContext getAccessibleContext();
}


C:\Users\jcq>javap -private java.util.Date
Compiled from "Date.java"
public class java.util.Date extends java.lang.Object implements java.io.Serializ
able,java.lang.Cloneable,java.lang.Comparable{
    private static final sun.util.calendar.BaseCalendar gcal;
    private static sun.util.calendar.BaseCalendar jcal;
    private transient long fastTime;
    private transient sun.util.calendar.BaseCalendar$Date cdate;
    private static int defaultCenturyStart;
    private static final long serialVersionUID;
    private static final java.lang.String[] wtb;
    private static final int[] ttb;
    public java.util.Date();
    public java.util.Date(long);
    public java.util.Date(int, int, int);
    public java.util.Date(int, int, int, int, int);
    public java.util.Date(int, int, int, int, int, int);
    public java.util.Date(java.lang.String);
    public java.lang.Object clone();
    public static long UTC(int, int, int, int, int, int);
    public static long parse(java.lang.String);
    public int getYear();
    public void setYear(int);
    public int getMonth();
    public void setMonth(int);
    public int getDate();
    public void setDate(int);
    public int getDay();
    public int getHours();
    public void setHours(int);
    public int getMinutes();
    public void setMinutes(int);
    public int getSeconds();
    public void setSeconds(int);
    public long getTime();
    private final long getTimeImpl();
    public void setTime(long);
    public boolean before(java.util.Date);
    public boolean after(java.util.Date);
    public boolean equals(java.lang.Object);
    static final long getMillisOf(java.util.Date);
    public int compareTo(java.util.Date);
    public int hashCode();
    public java.lang.String toString();
    private static final java.lang.StringBuilder convertToAbbr(java.lang.StringB
uilder, java.lang.String);
    public java.lang.String toLocaleString();
    public java.lang.String toGMTString();
    public int getTimezoneOffset();
    private final sun.util.calendar.BaseCalendar$Date getCalendarDate();
    private final sun.util.calendar.BaseCalendar$Date normalize();
    private final sun.util.calendar.BaseCalendar$Date normalize(sun.util.calenda
r.BaseCalendar$Date);
    private static final sun.util.calendar.BaseCalendar getCalendarSystem(int);
    private static final sun.util.calendar.BaseCalendar getCalendarSystem(long);

    private static final sun.util.calendar.BaseCalendar getCalendarSystem(sun.ut
il.calendar.BaseCalendar$Date);
    private static final synchronized sun.util.calendar.BaseCalendar getJulianCa
lendar();
    private void writeObject(java.io.ObjectOutputStream)       throws java.io.IO
Exception;
    private void readObject(java.io.ObjectInputStream)       throws java.io.IOEx
ception, java.lang.ClassNotFoundException;
    public int compareTo(java.lang.Object);
    static {};
}


C:\Users\jcq>javap --help
invalid flag: --help
Usage: javap <options> <classes>...

where options include:
   -c                        Disassemble the code
   -classpath <pathlist>     Specify where to find user class files
   -extdirs <dirs>           Override location of installed extensions
   -help                     Print this usage message
   -J<flag>                  Pass <flag> directly to the runtime system
   -l                        Print line number and local variable tables
   -public                   Show only public classes and members
   -protected                Show protected/public classes and members
   -package                  Show package/protected/public classes
                             and members (default)
   -private                  Show all classes and members
   -s                        Print internal type signatures
   -bootclasspath <pathlist> Override location of class files loaded
                             by the bootstrap class loader
   -verbose                  Print stack size, number of locals and args for met
hods
                             If verifying, print reasons for failure

以上原创,更多请参考:
http://www.cnblogs.com/yanpeng/archive/2009/06/09/1943348.html
http://tech.163.com/05/1213/10/24RK100B0009159T.html

 
 
  • 标签:javap 
  • 发表评论:
    载入中。。。

     
     
     

    梦翔儿网站 梦飞翔的地方 http://www.dreamflier.net
    中华人民共和国信息产业部TCP/IP系统 备案序号:辽ICP备09000550号

    Powered by Oblog.