分享
 
 
 

设计Java应用程序

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

知道了 java(TM) 的class和method的语法之后,我们就能设计一个Java 程序了。Java 应用程序由一个或多个定义了数据和行为的class组成。Java编译器将源程序转换成为一种净化处理过的格式。该格式只不过是操作-操作数对(Operation-operand(s))的一个线性排列:

...

...

...

...

这种数据流叫做字节码流(bytecode stream),或简称 Java 字节码(Java bytecodes)。字节码流中的操作实现所谓的虚拟机(基于软件的指令处理器)的指令集,此虚拟机通常称作 Java 虚拟机(JVM)。实现 JVM 的程序用作简单地处理Java的class文件,有时为特定的环境设计。例如,支持Java的Web浏览器如 Netscape Navigator 和 Internet EXPlorer,都包含一个 JVM 的实现。实现 JVM 的独立程序被称作Java解释器(interPReters)。

Java 编译器将字节码流存到一个以 .class 为文件名后缀的文件即通常所说的 class 文件中。任何 Java 解释器都能读或者说处理这个流--“解释”每一个操作和相应的数据(即操作数)。解释过程分为:

(1) 进一步将净化的字节码翻译成宿主计算机的机器指令;

(2) 治理程序的执行。

下面的流程图说明了编译和执行的过程:

Java的class文件是可跨平台移植的,而Java编译器和解释器则是不可移植的,他们通常是用C语言编写并被编译成各计算机平台固有的机器语言。因为Java编译器产生的字节码文件都遵循一种预先定义好的格式而且与机器无关,同时任何Java解释器能读懂字节码并进一步将之翻译成机器指令,因此一个Java程序无需重新编译就可以随处运行。

通常将一个class的定义存为一个相应文件名的Java源文件。如上例中的Dog,就被存为文件 Dog.java。Java 编译器对源文件进行处理生成字节码的class文件,上例中为Dog.class,但在 Dog示例中,Dog.class 并不是一个 Java 程序。

一个 Java 程序由一个或者多个class文件构成, 其中必须有一个定义了程序运行的起始点--Dog.class 则没有。从另一个角度说,起始点正是Dog这样的class和实现程序的class的不同之处。Java中,程序的起始点用main()方法定义。同样,一个程序必须有一个设计良好的终止点。Java中,停止程序运行的一个办法是调用或者说执行系统(system)方法exit()。

因此,在我们能做任何令人兴奋的事情前,我们应该有一个具有明确起始点和终止点的程序。用一个随意的用户定义的数据类型即可达到目的。该类型提供了main()和exit()行为,以及用于确认实际执行的简单输出操作:

public class SimpleProgram {

public static void main(String[] args) {

System.out.println("This is a simple program.");

System.exit(0);

}

}

main() 的方法标记是不可以改变的。至此,你可仿照上例简单地定义一个程序的入口--用 public 和 static 限制符以及 void返回类型。System ( java.lang.System) 是每一种 Java 环境中都提供的一个标准的 class ,它定义了许多实用的操作。

上例中用到了两个操作:

(1) 将数据显示到标准输出设备(通常为一个 IDE 窗口或者是操作系统的命令窗口)上;

(2) 让程序退出(exit)。

注重调用 exit() 时用 0 做参数是为了告诉调用程序和 Java 解释器运行没有出错,也就是说,程序是正常退出的。

到此为止,我们已经有两个class了:一个是真实世界的,用户定义的数据类型Dog,另一个 class 则相当神奇:它将特定应用行为与开始和终止程序的机制联系起来了。

现在该熟悉一下Java开发环境了。假如你有一个集成开发环境(IDE),它可能是也可能不是 file-oriented 的。在大多数的开发环境中,Java 源代码存放在文件里。一个比较有名的例外是 IBM 的 VisualAge for Java,它将 class 的定义存在工作区(workspace area)中。

当使用 file-oriented 的 IDE 时,需要注重文件名与 class 名相匹配;尤其要注重 class 的名字和文件的名字都是大小写敏感的。当然,你还需遵循因考虑系统环境变量设置等而为 Java 环境所设定的那些规则。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有