本文介绍一些Jython功能。
Jython语法是面向行的(line-oriented),并且类似于英语,同时完全支持结构化和面向对象类型的语言,如Java和C++。Jython代码可以直接解释,也可以翻译成自动编译为类文件的Java源文件(请参阅参考资料)。编译的Jython类可以独立于Jython解释器执行,也可以在Java代码中使用,就像它们是Java类一样(例如,开发applet或者servlet)。
如前所述,Jython的生产率是它最出色的优点。下面是Jython的一些独特功能(与Java语言相比):
可以用交互模式一行一行地输入代码并运行,这可以改进学习并促进试验性使用。
变量是在赋值时动态键入的,因此不需要预先声明变量或者使用new运算符。这些增强的功能可以显著提高编程的灵活性,还会降低程序的正文篇幅大小,因而提高了生产率。
可以广泛地、方便地使用字符串运算(例如,在Jython中x==y与Java语言中的x.equals(y)是一样的)。
Adapter对象是自动生成的并自动提供默认的Java接口实现,使得更容易实现事件处理程序回调。
自然的精度不定整数值(Natural indefinite precision integer value)(即对java.math.BigInteger之类类型的繁琐访问)和自然复杂值(natural complex values)使得Jython容易地支持许多比Java语言所能支持的更为精确的应用程序。
动态特性(每个作用类似Java Map的类实例)使得类功能可以更为动态。
增强的导入(像Java 1.5的import static)提高了灵活性和模块性。
Classless 和mainless(即开放)代码提高了程序式程序(如脚本)的生产率。
每个源文件中有多个公共变量、函数和/或类,降低了必须维护的源文件数量,这简化了大规模开发。
函数和方法的默认参数极大地减少了需要创建的重载方法数量。
函数和方法的Keyword参数提高了代码的自解释性和灵活性。
函数型程序设计(函数是第一级对象)提供了非常强大和灵活的编程样式,这是Java语言缺少的。
如果需要,多重继承支持更丰富的继承层次结构。
运算符重载允许创建与语言无缝集成的新数据类型。
这些就是Jython区别于Java语言的功能了。
【编辑推荐】