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