天天看點

Java動态語言是什麼語言

什麼是動态語言?

動态語言,是指程式在運作時可以改變其結構:新的函數可以被引進,已有的函數可以被删除等在結構上的變化。比如JavaScript便是一個典型的動态語言。

除此之外如Ruby、Python、OC等也都屬于動态語言,而C、C++、Java等語言則不屬于動态語言。

動态類型語言,就是類型的檢查是在運作時做的,是不是合法的要到運作時才判斷,例如JavaScript就沒有編譯錯誤,隻要運作錯誤。

JavaScript改變結構小例子:

Java動态語言是什麼語言

靜态語言

而靜态類型語言的類型判斷是在運作前判斷(如編譯階段),比如java就是靜态類型語言,靜态類型語言為了達到多态會采取一些類型鑒别手段,如繼承、接口,而動态類型語言卻不需要,

靜态類型語言的主要優點:

在于其結構非正常範,便于調試,友善類型安全;

缺點:

是為此需要寫更多的類型相關代碼,導緻不便于閱讀、不清晰明了。動态類型語言的優點在于友善閱讀,不需要寫非常多的類型相關的代碼;缺點自然就是不友善調試,命名不規範時會造成讀不懂,不利于了解等。

為什麼Java可以稱之為"準動态語言"?

展現在以下幾個方面:

  1. 反射機制
  2. 動态編譯
  3. 動态執行javascript代碼
  4. 動态位元組碼操作
  5. 動态轉換類型

Java反射機制被視為Java為準動态語言的主要的一個關鍵性質,這個機制允許程式在運作時透過反射取得任何一個已知名稱的class的内部資訊,包括: