亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java是一種動態編程語言嗎?

Java是一種動態編程語言嗎?

FFIVE 2023-06-08 17:09:37
動態編程語言的定義說“這些語言是那些在運行時執行多種通用行為的語言,這與在編譯時執行相同操作的靜態編程語言相反。它可以通過添加新代碼、擴展對象和定義來實現” .據我所知,許多編程語言都以 Java 等包或 C++ 等頭文件的形式進行封裝。因此,作為程序員,我將編寫的代碼肯定會在編譯時擴展,并最終轉換為匯編代碼,最后轉換為機器代碼。那么每一種高級語言都變得動態了嗎?
查看完整描述

1 回答

?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

一般來說,可以通過類型系統來區分靜態和動態編程語言。在動態類型系統中你可以有以下


var x = 2

x = "c"

意思是,給定變量的類型可能會在其生命周期內發生變化。靜態類型系統不允許這樣做。C#dynamic數據類型是此功能的一個示例。


注意不要將動態與推斷或弱類型系統混淆。推斷類型系統不需要變量的正式聲明,但會根據分配的值推斷類型。它不允許用不同的類型重新聲明變量。


var x = 2  // the type of x is int

x = "C"  // compile error: incompatible types!

弱類型系統允許與聲明的變量類型不兼容的操作。C 允許將指針轉換為任何類型:


foo(void *ptr) {

  char *str;

  strcpy(str, (char *)ptr);

  int i = &(int *)ptr + 1;

}

類型系統的所有組合都存在,有時使用相同的編程語言:靜態/動態、隱式(推斷)/顯式、弱/強。


查看完整回答
反對 回復 2023-06-08
  • 1 回答
  • 0 關注
  • 106 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號