Jython功能——與Java語言相比的獨(dú)特功能
本文介紹一些Jython功能。
Jython語法是面向行的(line-oriented),并且類似于英語,同時完全支持結(jié)構(gòu)化和面向?qū)ο箢愋偷恼Z言,如Java和C++。Jython代碼可以直接解釋,也可以翻譯成自動編譯為類文件的Java源文件(請參閱參考資料)。編譯的Jython類可以獨(dú)立于Jython解釋器執(zhí)行,也可以在Java代碼中使用,就像它們是Java類一樣(例如,開發(fā)applet或者servlet)。
如前所述,Jython的生產(chǎn)率是它最出色的優(yōu)點(diǎn)。下面是Jython的一些獨(dú)特功能(與Java語言相比):
可以用交互模式一行一行地輸入代碼并運(yùn)行,這可以改進(jìn)學(xué)習(xí)并促進(jìn)試驗(yàn)性使用。
變量是在賦值時動態(tài)鍵入的,因此不需要預(yù)先聲明變量或者使用new運(yùn)算符。這些增強(qiáng)的功能可以顯著提高編程的靈活性,還會降低程序的正文篇幅大小,因而提高了生產(chǎn)率。
可以廣泛地、方便地使用字符串運(yùn)算(例如,在Jython中x==y與Java語言中的x.equals(y)是一樣的)。
Adapter對象是自動生成的并自動提供默認(rèn)的Java接口實(shí)現(xiàn),使得更容易實(shí)現(xiàn)事件處理程序回調(diào)。
自然的精度不定整數(shù)值(Natural indefinite precision integer value)(即對java.math.BigInteger之類類型的繁瑣訪問)和自然復(fù)雜值(natural complex values)使得Jython容易地支持許多比Java語言所能支持的更為精確的應(yīng)用程序。
動態(tài)特性(每個作用類似Java Map的類實(shí)例)使得類功能可以更為動態(tài)。
增強(qiáng)的導(dǎo)入(像Java 1.5的import static)提高了靈活性和模塊性。
Classless 和mainless(即開放)代碼提高了程序式程序(如腳本)的生產(chǎn)率。
每個源文件中有多個公共變量、函數(shù)和/或類,降低了必須維護(hù)的源文件數(shù)量,這簡化了大規(guī)模開發(fā)。
函數(shù)和方法的默認(rèn)參數(shù)極大地減少了需要創(chuàng)建的重載方法數(shù)量。
函數(shù)和方法的Keyword參數(shù)提高了代碼的自解釋性和靈活性。
函數(shù)型程序設(shè)計(jì)(函數(shù)是第一級對象)提供了非常強(qiáng)大和靈活的編程樣式,這是Java語言缺少的。
如果需要,多重繼承支持更豐富的繼承層次結(jié)構(gòu)。
運(yùn)算符重載允許創(chuàng)建與語言無縫集成的新數(shù)據(jù)類型。
這些就是Jython區(qū)別于Java語言的功能了。
【編輯推薦】