.java编译成.class 与 .class反编译成.java

.java编译成.class 与 .class反编译成.java.java编译成.class 与 .class反编译成.java

大家好,又见面了,我是你们的朋友全栈君。

了解下这两个文件类型:.java文件是给人看的,.class是给计算机看的。程序员编写的是.java文件,经编译后生成.class文件给计算执行。

相信这两句话很形象的说明了这两个文件的关系了。

1,首先反编译器就是jd-gui这个软件了,可以把jar包直接拖进这个软件就能够看到代码了。当然jd-gui不能编译.class文件。

2,怎么把.class转成.java文件呢?也是在jd-gui文件里面。点击要转的文件,然后file–>save Source,如下图:

.java编译成.class 与 .class反编译成.java

保存后就是.java文件了。当然可以直接保存整个jar包,也可以是单个文件。

3,eclipse里面怎么看.class文件?新建的一个.java文件有.class的前提是要编译成功,比我常用的项目是maven工程,要先maven install编译才能生成“完整的”.class文件,单单保存是不行的,这里下面会有说明。eclipse可以通过ctrl+shift+R,然后输入类名,可同时看到.class和.java文件。

.java编译成.class 与 .class反编译成.java

4,怎么编译单个的java文件呢?方法有很多,这里我介绍个在dos命令中生成.class文件的办法。

首先在eclipse中新建个aa.java类,里面就啥都不写了,最好也别带汉字,不然后面编译的时候会报编码错误,找不到符合等各种错误。然后拷到桌面上,打开dos命令,输入以下命令:

E:\jdk1.7\bin\javac.exe  C:\Users\Administrator\Desktop\aa.java

解释:E:\jdk1.7\bin\javac.exe 是javac.exe的安装目录,其实找到jdk就行了。C:\Users\Administrator\Desktop\aa.java是刚才写的测试类,把他拷到桌面的位置。

最后Enter运行命令,运行成功的话就是可以再aa的目录下生成同名的.class文件了。如图:

.java编译成.class 与 .class反编译成.java

.java编译成.class 与 .class反编译成.java

这里对3解说下,编译单个文件的时候,如果这个类引入的有其他新建的类,就会编译报错,显示找不到符号,这个也很容易理解,因为实在javac虚拟机上执行的,我们写的测试类内容只能包含jdk自带的代码,对于我们引入自己新建类肯定是不识别的。也就是在eclipse中虽然保存后有.class文件,但是不一定编译成功。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106105.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • leetcode -1864. 构成交替字符串需要的最小交换次数[通俗易懂]

    leetcode -1864. 构成交替字符串需要的最小交换次数[通俗易懂]给你一个二进制字符串 s ,现需要将其转化为一个 交替字符串 。请你计算并返回转化所需的 最小 字符交换次数,如果无法完成转化,返回 -1 。交替字符串 是指:相邻字符之间不存在相等情况的字符串。例如,字符串 “010” 和 “1010” 属于交替字符串,但 “0100” 不是。任意两个字符都可以进行交换,不必相邻 。示例 1:输入:s = “111000”输出:1解释:交换位置 1 和 4:”111000″ -> “101010” ,字符串变为交替字符串。示例 2:输入:s =

    2022年8月11日
    9
  • wget下载出现错误 403:Forbidden

    wget下载出现错误 403:Forbidden

    2021年11月22日
    47
  • 电压转电流电路

    电压转电流电路图1 电压转电流原理图   如图 1是输入输出无偏置型电压转电流信号调理的典型电路。其中运放A、电阻R13、三极管Q10构成压控电流源电路;电阻R9、R11、运放B、三极管Q8、Q9构成电流放大电路。   当电压信号加在运放A同向输入时,由运放特性:虚短、虚断可知反向输入端电压跟随同向输入端电压信号,此时在电阻R13支路上产生电流流过三极管Q10,三极管Q10基极受运放A输出端

    2022年6月2日
    39
  • Origin绘图之条形图上加曲线拟合图

    Origin绘图之条形图上加曲线拟合图图形使用情境有时,写论文时,我们要做一些描述性统计,经常用到条形图来表示我们的数据,同时在条形图上可以加入曲线拟合的情况。如下图所示:绘图操作本博客以origin2017操作为例。首先是导入我们要绘图的数据,如下图所示:接着,按照下图所示操作,选择bar(条形图)最后,按照下图操作就行了…

    2022年5月16日
    63
  • 常用哈希函数介绍_简单说哈希函数是什么

    常用哈希函数介绍_简单说哈希函数是什么哈希函数介绍什么是哈希?在记录的关键字与记录的存储地址之间建立的一种对应关系叫哈希函数。哈希函数就是一种映射,是从关键字到存储地址的映射。通常,包含哈希函数的算法的算法复杂度都假设为O(1),这就是为什么在哈希表中搜索数据的时间复杂度会被认为是”平均为O(1)的复杂度”.在讲解具体内容前,首先我们要清楚以下几个概念:冲突(碰撞)对于不同的关键字ki、kj,若ki!=kj,但H(ki)=H(kj)的现象叫冲突(collision),即不同的输入却有相同的输出。我们应该尽量避免冲突,因为冲

    2025年6月27日
    5
  • vs2021安装教程_vs2015企业版安装教程

    vs2021安装教程_vs2015企业版安装教程一、学习C/C++语言用什么环境?DevC++很久不在更新,对于C语言的标准支持不够好vc6.0太古老,98年的软件了二、那小编推荐什么大家用什么软件?VS2013及以上版本都行!今天跟大家唠如何安装VS2022(听说VS官网更新了,小伙伴们找不到VS2019了)三、VS2019下载官网VS2022官网https://visualstudio.microsoft.com/zh-hans/?rr=https://www.microsoft.com/zh-cn/3.1点击VS

    2025年10月19日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号