當前位置:編程學習大全網 - 源碼下載 - Java靜態方法獲取所屬類的信息

Java靜態方法獲取所屬類的信息

在JAVA中動態執行類的靜態方法

/*

在JAVA中,通過Class.forName()方法可以動態決定加載哪壹個類,這個功能對於相同接口的不同實現來講非常有用。比如對於設計好的數據庫連接池接口,我們可以有多種的接口實現類來完成相同的功能,同時用戶可以簡單的通過修改配置文件來指定實際使用哪壹個實現類,在源代碼裏面通過讀取配置文件信息,並用Class.forName(configClassName).getInstance()就可以構造壹個特定的實現類實例,而不用每次修改源代碼。這樣對於程序來講只用關心接口的定義,用戶只用進行配置文件的設置就完成了同壹功能的不同實現的切換。

但是如果實現類需要通過靜態方法來進行初始化的時候,動態加載的過程就會復雜壹些。同樣的以數據庫連接池為例,通常連接池的構造函數都會被定義為私有的,而通過自定義的getInstance()靜態方法來得到唯壹實例。這種情況下簡單的通過Class.forName().getInstance()就無法正確構造實例。

幸好JAVA所提供的反射機制(Reflection)為我們提供了完整了探悉類內部結構的方法。通過反射機制,我們能夠完成基本上所有的運行時決定的動作(雖然這壹實現要比其他動態語言,比如PHP,的eval()的使用要復雜的多)。

下面通過實際的例子說明如何在運行時動態訪問類的靜態方法。

  • 上一篇:如何在嵌入式linux開發板上使用USB鍵盤
  • 下一篇:求用C語言編程實現壹個國際象棋 馬怎麽走的問題
  • copyright 2024編程學習大全網