紫風(fēng)亂寫

          除了他眼前的屏幕,這個(gè)人什么也沒看見。
          被周圍的電腦簇?fù)碇恢浪鶆?chuàng)造的現(xiàn)實(shí),但又意識(shí)到那是虛幻。
          他已經(jīng)超越了技術(shù)。也超越了機(jī)器。
          posts - 62, comments - 93, trackbacks - 0, articles - 0
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          在java5中添加的一個(gè)新特性就是static import(靜態(tài)導(dǎo)入?)通過靜態(tài)導(dǎo)入我們可以很方便的使用在其他類中定義的函數(shù)。如下面的代碼所示,我們可以直接的使用java.lang.Math 的min和max以及其他在java.lang.Math中所定義的靜態(tài)方法,只需要在import中添加一句import static java.lang.Math.*。這是一個(gè)很方便的功能。

          package cn.justfly.study.tiger;

          import 
          static java.lang.Math.max;
          import 
          static java.lang.Math.min;
          /**
           * Sample of Static Import
           * @author Justfly Shi
           * created at 2005-9-3 23:41:50
           
          */

          public class StaticImport {

            
          /**
             * @param args
             
          */

            
          public static void main(String[] args) {
             
          /*
              * min() and max() are defined in java.lang.Math as static method.
              * but they can now be easily access.
              * 
          */

             
          int min=min(3,4);
             System.
          out.println("min is : "+min);
             
          int max=max(3,4);
             System.
          out.println("max is : "+max);

            }


          }


          但是這個(gè)功能卻不能濫用。因?yàn)樗鼤?huì)導(dǎo)致代碼的可讀性變得很差。考慮一下一個(gè)未曾接觸過java.lang.Math類的讀者來看這段代碼。當(dāng)他讀到“int min=min(3,4)”,他會(huì)很迷惑,這個(gè)min函數(shù)到底是在哪里定義的呢?于是他就得去分析import這里。這段代碼還好說,只有一個(gè)類被靜態(tài)導(dǎo)入,只需要打開 java.lang.Math的文檔就可以直接了解這些方法的相關(guān)信息了。但是如果同時(shí)靜態(tài)導(dǎo)入了10個(gè)類的情況下呢?如果這些類中有著名字類似(相同)但是行為卻不一致的方法的時(shí)候呢?比如Person.eat(Food food)和 Animal.eat(Food food)。

          那么這個(gè)功能該如何用呢?我認(rèn)為一些常用的工具類、全局變量類等當(dāng)需要在一個(gè)類中多次使用的時(shí)候可以導(dǎo)進(jìn)來,但是對(duì)于系統(tǒng)中的模型類或者是用的次數(shù)不多的工具類還是不要導(dǎo)入的好。我們需要在自己寫代碼時(shí)的方便和代碼本身的可讀性間做個(gè)權(quán)衡。

          主站蜘蛛池模板: 新源县| 高要市| 泸水县| 噶尔县| 新丰县| 多伦县| 谷城县| 弥勒县| 井冈山市| 辽中县| 五台县| 肥东县| 荣成市| 临颍县| 台州市| 龙山县| 中牟县| 和林格尔县| 辽源市| 新和县| 望谟县| 惠安县| 隆林| 桐乡市| 富源县| 鄂伦春自治旗| 孟村| 鹤壁市| 拉萨市| 江城| 乌拉特后旗| 天水市| 论坛| 横峰县| 禹城市| 分宜县| 舞阳县| 德兴市| 塔河县| 滕州市| 舒兰市|