紫風(fēng)亂寫

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

          在java5中添加的一個新特性就是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.*。這是一個很方便的功能。

          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);

            }


          }


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

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

          主站蜘蛛池模板: 彩票| 武平县| 琼结县| 博野县| 江达县| 太原市| 庄河市| 高清| 磐石市| 晋城| 大埔区| 儋州市| 宝丰县| 如东县| 鄂托克旗| 永安市| 海原县| 新郑市| 澳门| 慈利县| 清镇市| 磐安县| 稷山县| 齐河县| 旬邑县| 吉林市| 云梦县| 子洲县| 宁蒗| 淳安县| 中牟县| 西乡县| 博客| 托克逊县| 扎赉特旗| 北辰区| 祁连县| 玛曲县| 衡南县| 即墨市| 繁峙县|