首页 > 编程知识 正文

java程序如何编译,java代码编译过程

时间:2023-05-05 14:23:56 阅读:41754 作者:3313

3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com/3358 www.Sina.com.Sina.com

总结:

java应用程序的基本结构

编写源文件

保存源文件

额外附加

注意:

解释不能带目录运行程序。 可以进行编译

编译器(javac.exe)

解释器(java.exe)

Java APP应用程序总是从主类的main方法执行

编译器忽略评论的内容

假如我的B.java源文件在C:UsersAUSUDesktopts里面

源文件可以包含多个类(class ),但只有一个公共类

如果某个类是公共类,则源文件的名称必须与此类的名称完全相同,扩展名必须为. java。 (请注意这个)

如果源文件中没有公共类,则可以使用与类相同的名称和. java扩展名

一般都是进入到这个目录里面编译解释

保存类型选择所有类型,编码选择ANSI

编译:javac B.java

)1) c驱动器移动到d驱动器

)2)进入某个子目录(文件夹)。 例如,位于以下e驱动器中的java文件夹

)3)退出某个子目录。 例如,结束java文件夹

解释:java B

javac B.java

零:java应用程序的基本结构

如果源文件中有多个类,则编译源文件将生成多个扩展名为. class的文件。 扩展名为. class的文件仅存储一个与该类同名的类的字节码。

如果文件是这个的话

公共类b { int a=1; intf(intb ) a=b; 返回a; }编译后得到的class文件,在我使用反向编译器(从网上下载的)时是这样得到的

公共类b { int a=1; intf (intparamint (this.a=paramint; 返回this.a; }

一个java应用程序由若干个类组成,这些类可以在一个源文件,也可以分布在若干个源文件

(1)回车后,如果javac不是内部或外部命令,也不是可执行程序或批处理文件

解决方法:

方法1 :重置环境变量

xf ddx :在ms-dos命令窗口中,键入path D:jdk1.6bin (这是您的jdk )返回汽车并进行编译

)2)出现两个公共类,名称为B.java或C.java时

公共类b { int a=1; }公共类c { int b=1; }编译时发生问题

所以上文提到:一:编写源文件

验证上面的话:

公共类b { int a=1; }class C{ int b=1; }编译后

如果是这样的话,也可以成功编译

公共类b { int a=1; 公共类c { int b=1; }

)3)私底下看到了(还没有验证) )。

二:保存源文件

使用java虚拟机中的java解释器(java.exe )进行解释并运行字节码文件(.class文件)

例如源文件:

公共类b { int a=1; intf(intb ) a=b; 返回a; //主类,Java APP应用程序始终从主类的main方法中提取publicstaticvoidmain (字符串[ ] args ) { B b=new B ); system.out.println(b.f(3); }编译后得到的字节码文件(.class文件)用反编译器显示

公共类b { int a=1; intf (intparamint (this.a=paramint; 返回this.a; } publicstaticvoidmain (string [ ] paramarrayofstring ) { B b=new B ); system.out.println(b.f(3); )运转: java B,结果为3

执行过程: java虚拟机首先将程序所需的字节码文件加载到内存中,然后解释执行字节码文件,将其加载到内存中,同时为主类的main方法分配条目地址。

注意:

)1) java解释器执行的类名必须是主类的名称(无扩展名)。

)2)如果解释时发生错误,则main方法可能写得不正确,或者系统变量可能不正确

输入ms-dos:class path=d :JDK 1.7JRElibrt.jar; 确定滑架后,使用java解释器运行主类。

)3)不能在目录下运行程序。 例如

java C:tsB

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。