哪位大侠能把下面的java程序反编译出来。送200分,分2次给分 
程序下载地址 
http://wqywqy.googlepages.com/waveinterference.jar

解决方案 »

  1.   

    我想反编译下WINDOWS系统
    谢谢哪位同志帮下忙吧....
    我另外出帖子给你加分哦~~~~
    别想拿linux来忽悠我哦
      

  2.   

    其实吧java类反编译很简单,jdk已经有这个命令javap xx.class
      

  3.   

    我把 jar文件解压,随便找出了一个类BasicService.class  反编译
    得出以下结果:
    Compiled from "BasicService.java"public interface javax.jnlp.BasicService{public abstract java.net.URL getCodeBase();public abstract boolean isOffline();public abstract boolean isWebBrowserSupported();public abstract boolean showDocument(java.net.URL);}
      

  4.   

    用jad吧,直接把jar包放到eclipse下,然后打开里里面的类,会自动反编译的.
      

  5.   

    用Eclipse安装插件Jode Decompiler,安装方法网上很多.
    把要waveinterference.jar在java构建路径下引入.
    然后就可以像打开类一样打开*.class文件了.下面是其中的一个类/*jode*/
    /* BarrierSideView - Decompiled by JODE
     * Visit http://jode.sourceforge.net/
     */
    package edu.colorado.phet.waveinterference;
    import java.awt.Rectangle;
    import java.awt.geom.Rectangle2D;
    import java.beans.PropertyChangeEvent;
    import java.beans.PropertyChangeListener;import edu.colorado.phet.waveinterference.model.SlitPotential;
    import edu.colorado.phet.waveinterference.view.LatticeScreenCoordinates;
    import edu.colorado.phet.waveinterference.view.SlitPotentialGraphic;
    import edu.colorado.phet.waveinterference.view.WaveSideViewFull;public class BarrierSideView extends SlitPotentialGraphic
    {
        private WaveSideViewFull waveSideView;
        private double fractionalBarrierSize = 3.0;
        
        public BarrierSideView(SlitPotential slitpotential,
       LatticeScreenCoordinates latticescreencoordinates,
       WaveSideViewFull wavesideviewfull) {
    super(slitpotential, latticescreencoordinates);
    waveSideView = wavesideviewfull;
    wavesideviewfull
        .addPropertyChangeListener("visible", new PropertyChangeListener() {
        {
    super();
        }
        
        public void propertyChange
    (PropertyChangeEvent propertychangeevent) {
    update();
        }
    });
    update();
        }
        
        public void update() {
    if (waveSideView != null) {
        setVisible(waveSideView.getVisible());
        setPickable(getVisible());
        setChildrenPickable(getVisible());
        removeAllChildren();
        Rectangle[] rectangles = getSlitPotential().getBarrierRectangles();
        for (int i = 0; i < rectangles.length; i++) {
    Rectangle rectangle = rectangles[i];
    if (!rectangle.isEmpty()) {
        Rectangle2D rectangle2d = getLatticeScreenCoordinates()
      .toScreenRect(rectangle);
        Rectangle2D.Double var_double
    = new Rectangle2D.Double(rectangle2d.getX(),
     getBarrierY(),
     rectangle2d.getWidth(),
     getBarrierHeight());
        addChild(super.toShape(var_double));
        break;
    }
        }
    }
        }
        
        private double getBarrierHeight() {
    return (getLatticeScreenCoordinates().getScreenRect().getHeight()
    / fractionalBarrierSize);
        }
        
        private double getBarrierY() {
    return (getLatticeScreenCoordinates().getScreenRect().getY()
    + (getLatticeScreenCoordinates().getScreenRect().getHeight()
       / 2.0)
    - getBarrierHeight() / 2.0);
        }
    }
    /***** DECOMPILATION REPORT *****
    LOCATION: F:\guoyan\eclipse\workspace\test\waveinterference.jar!edu.colorado.phet.waveinterference.BarrierSideView
    TOTAL TIME: 0 ms
     ********************************/