快速业务通道

快速上手Java编程 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
的访问

文件 I/O

基本 I/O

这些扩展名帮助您使对象支持与编程的 EcmaScript 方式(而不是通常更难 编写的 Java API 方式)相匹配,从而使特定范围内的编程更加简单易行。我们 将在本文讨论的样本程序中直接体验到这一点。(请参阅 参考资料,下载本文 所用到的源代码。)

在我们深入讨论之前,请参阅 “下载并安装 FESI”,让 FESI 在您的机箱 中运行起来。

快速上手Java编程(2)

时间:2011-06-10 IBM Sing Li

您会 FESI语言吗?

请使用命令行中的 fesidev 命令开始 FESI 交互式解释程序环境。现在您就 能方便地与 EcmaScript 解释程序进行交互并立刻得到结果。

有一些内部命令,不是交互式解释程序所能理解的 EcmaScript 或 FESI 的 一部分。您能通过在命令行输入 @help 来访问这些命令。

这里有一个对最常用命令的描述:

@clear -- 清除交互式显示区域

@describe -- 获取对变量与对象的详细描述

@exit -- 从交互式环境中退出

@listall -- 显示一个对象的所有属性

您能将一个 EcmaScript 程序交互式地输入 FESI,或使用 File|Open 菜单 将它在一个包含着现有 EcmaScript 程序的文本文件中打开。基于文本的脚本文 件能以批处理方式运行。惯例是对 EcmaScript 源用 .es 扩展名以及对使用 GUI 支持的 EcmaScript 源用 .ew 扩展名。要以批处理方式处理 EcmaScript 文件,请使用安装时生成的 fesi.bat 和 fesiw.bat 文件。

用 EcmaScript来试验

对于经验丰富的 Java 开发人员来说,EcmaScript 会显得粗糙而缺乏系统化 。例如,您无需在使用变量前先予以声明。对象定义非常特别。学习 EcmaScript 最好的方法就是使用交互式 FESI 解释程序。在这部分中,我们将 看看 EcmaScript 句法和 Java 语言中存在的主要差异。我们将看一下它的晚期 绑定和类型松散(您直到真正执行代码时才决定变量的数据类型) -- 及其缺少 强制的、正规的和面向对象的构造。

要声明一个叫做 myObject 的对象,我们可以输入:

> var myObj = new Object;

迄今为止一切顺利。若要为对象添加属性,就需要这样做:

> myObj.name = "George";

这类似于为支持动态属性表的 Java 对象添加属性,然而 Java 语言自身不 带有基本的相同功能。我们可以用同样的方法为 myObj 添加一个叫做 age 的整 数类型的属性。

> myObj.age = 33;

我们能用此前讨论过的 @listall 命令来查看对象所有的属性。

>@listall myObj age: [PRIMITIVE]: 33 name: [PRIMITIVE]: George

最后,我们希望在对象中加入一些行为,就先定义一个 EcmaScript 函数, 然后把它指定为对象的一个属性。

> function intAdd(inParam) { writeln(inParam + this.age); } > myObj.add = intAdd; > @listall myObj age: [PRIMITIVE]: 33 name: [PRIMITIVE]: George add: [OBJECT]: function intAdd(inParam) { writeln (inParam + this.age ); }

如想查看 EcmaScript 的最新绑定特征,请尝试:

> myObj.add(5); 38

请注意,由于 add() 函数的输入参数在运行时被绑定到 int 类自变量,因 此产生了数值的增加。现在来试试这个:

>myObj.add("5"); 533

快速上手Java编程(3)

时间:2011-06-10 IBM Sing Li

这次,相同方法内发生了字符串串联,并且现在输入参数在函数运行时受到 String 类自变量的限制。

创建一个对象定义,您能通过它重复创建新实例,但必须先定义其构造器。 我们先在下面创建了一个 myObjDef 构造器,并立即用新的操作符创建了一个新 的 myObjDef 实例。

> function myObjDef(inName, inAge) { this.name = inName; this.age = inAge; } > myObj = new myObjDef("Joe", 7); > @listall my

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号