导航:首页 > 源码编译 > 为Java编译出来两个文件

为Java编译出来两个文件

发布时间:2022-09-02 21:31:07

① 一个java编译出了两个.class

同一个文件夹下 相同名字的文件是不可能存在的,除非扩展名不一样。。。
还有种方法,导出所有想保留的项目,然后重新安装一遍

② java编译后 产生两个class文件 怎么调用

后面的一个是前面的一个类产生的内部类,应该调用前面的一个类,前面的一个类会自动调用后面的一个的:
你可以输入 :java chatclient
就可以运行了

③ Java 同一个包在cmd上多文件编译

javac的编译单位其实就是单个的java文件,为了达到同时编译多个java文件的目的,可以将所需编译的java文件路径保存在一个txt中,比如sourcelist.txt,以换行为分隔符(这个过程称为类文件注册)。这些java文件没有彼此联系的必要,它们可以是隶属不同的包、在不同的文件夹下(当然建议包路径相同的java类文件放在同一文件路径下),javac命令只会一行一行地读取其中的记录,作为一个单位进行类编译。
举例说明。假设你的这个包放在src文件夹下,src的父目录为project,sourcelist.txt也事先新建在project文件夹下。首先将这个包中你需要编译的java文件相对于src的路径(如src\com\test\Test.java)注册到sourcelist.txt文件中;接着在project文件夹中新建一个bin文件夹(或者class文件夹,命名随你乐意取),用以编译后class文件的放置(这个配以javac命令中-d选项去理解);如果还有其他类库(如jxl.jar或者mysql.jar),建议在project目录下新建一个lib(同样命名不限)文件夹,然后复制到该文件夹下(配以-classpath选项理解);最后检查上述准备工作都完成,win + R、输入cmd都不用讲,现在在cmd中用cd命令切换到project目录,然后输入命令:
javac -classpath lib/jxl.jar -sourcepath src @sourcelist.txt -d bin
现在就很好理解了。-d选项就是destination的意思,即生成class文件被送到该选项后面的bin文件夹;-classpath就是将你要用到的jar包注册到类加载路径中;-sourcepath就是告诉javac命令去哪里找类文件。
最后呢,为了方便,可以在project文件夹下新建一个bat文件,并输入以下内容:
javac -classpath lib/jxl.jar -sourcepath src @sourcelist.txt -d bin
@pause
这样每次直接点击即可,而你需要编译其他包的或者其他java文件,直接在sourcelist.txt文件中添加或修改。这其实也是一种“弱耦合”、模块化的表现。

④ 为什么编译一个java文件会生成多个class文件

这个是因为RPSalePayDao.java里面有多个class,每个class在编译的时候就会生成一个以class的名称命名的.class文件。
要更新这几个文件的时候都要放到服务器,因为你要编译,而且要上传到服务器。

⑤ 为什么一个Java文件编译后可以获得多个字节码文件

public class A {
public static void main(String[] args) {
int i=1;
System.out.println(i);
}
}
class B {
public static void main(String[] args) {
int i=2;
System.out.println(i);
}
}

这样编译之后就是两个字节码文件,同一个java文件中,只能有一个被public修饰的类,且这个类的类名就是java文件的名称(上述例子文件为 A.java ),没有被public修饰的类,编译之后会生成类名.javac的文件,有几个类就会生成几个对应的javac文件,有点儿长,希望你能看明白,手打望采纳

⑥ javac编译后为什么会产生多个class

RPSalePayDao$1
里面有内部类才会这样生成

你应该有类似添加了ActionListener这样的内部实现方法。

当RPSalePayDao.java文件改变的时候,需要更新到服务器,那么这几个class文件都需要放到服务器吗,为什么
如果这样,几个内部类$1,$2必须也要放上去,否则会找不到class

⑦ 编译如下java程序,为什么生成两个class文件,运行的时候运行哪个

一个java文件里面有几个class,就生成几个class
运行有main函数的class

⑧ Java编译成多个CLASS何解

这是因为你的程序里面有匿名类,匿名类编译后就会以主类$编号命名。
或者有以1、2、3命名的内部类(可能性很小)。所以才会生成这样的文件。
至于你说的不能运行你可能是使用了package打包了,在命令行中默认是不能生成包的,需要你指定才可以,所以生成的也就不能运行

匿名类的例子
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
}

补充————————————————————

仔细看你的程序,绝对有匿名类。用Swing的话就会有事件处理方法是用匿名类的形式定义的。Netbeans一般都这样生成。

要运行的话首先要看看你的主程序是不是打包了,有没有package这样的语句,如果有,那么编译的时候就要就要加上-d选项,如果有package语句,
假如是package a.b;那么编译:

javac -d . test.java
这样。执行:java a.b.test

然后运行的时候 java

⑨ 一个java编译生成两个class是怎么回事,怎样改只生成一个class文件

如果你的类里面包含内部类,就会在编译后出现两个。另一个是类名加上$符号后再加上内部类的名字。
一个class就是把内部类去掉就好了。

阅读全文

与为Java编译出来两个文件相关的资料

热点内容
酷猫系统如何安装app 浏览:636
邮寄服务器是干什么用 浏览:159
解除电脑加密文件夹 浏览:358
androidcheckbox组 浏览:546
linux在线安装软件 浏览:823
如何设置手机安卓版 浏览:285
简历pdfword 浏览:123
锋云视频服务器网关设置 浏览:162
linux服务器如何查看网卡型号 浏览:142
加密相册误删了怎么恢复 浏览:380
安卓代练通怎么下载 浏览:518
知道域名如何查询服务器 浏览:906
方舟手游怎么才能进服务器 浏览:289
抖音算法自动爆音 浏览:24
linux修改网卡配置 浏览:913
云服务器和本地服务器数据 浏览:843
在家如何创业python 浏览:225
编译原理好课 浏览:718
python中实数的表示 浏览:372
php下载中文名文件 浏览:351