它們兩個的作用域的區別是什么呢?
uj5u.com熱心網友回復:
這兩個都是public,都可以在外部呼叫。不帶static的是非靜態的,要實體化之后,用類的物件才能點出來。
帶static的是靜態的,用類名直接點出來。
uj5u.com熱心網友回復:
理解!但是為什么要用靜態呢?靜態好用在哪里?uj5u.com熱心網友回復:
這倆就差static。有static的是靜態,不需要手動實體化就可以用
靜態方法感覺像函式,靜態變數可以維持數值統一或者保留當前值下一次再用
uj5u.com熱心網友回復:
感謝??uj5u.com熱心網友回復:
存盤的記憶體 空間不同 靜態與非靜態的方式 也不同 static前面 如果 不是必須的情況下 不要使用public 包括 確定 不需要 包外使用 public 也要少用 不然會出現很多問題uj5u.com熱心網友回復:
static 修飾的的變數或者函式,在記憶體中的靜態區保存,這塊記憶體一直會持續到程式結束才會被釋放new 出來的物件都保存在記憶體的堆中,需要手動delete,或者程式結束釋放掉,但是C# 做了垃圾回識訓制,參考計數為0時,會自動釋放,所以不用考慮釋放問題
正常函式中定義的變數如: int val=0; 是在堆疊中分配的記憶體,當出函式堆疊的時候,記憶體釋放。
總結:這些修飾關鍵字,都是用來告訴編譯器,這個物件該保存到哪里,也就是告訴編譯器,什么時候釋放這個物件
uj5u.com熱心網友回復:

總有一些東西需要全域設定
例如說執行緒池就是一個靜態類
不需要去進行實體化即可對其進行修改
畢竟一個應用只需要一個池子不需要多個
對于靜態成員一般來說都是用來存盤一些該類所有實體都會用到的資料
uj5u.com熱心網友回復:
不帶static的是非靜態的,要實體化之后,用類的物件才能點出來。帶static的是靜態的,用類名直接點出來
uj5u.com熱心網友回復:
還是沒懂什么時候該用什么時候不該用 感覺用不用static對結果沒什么影響 只不過多寫少寫了一步實體化的操作uj5u.com熱心網友回復:
這樣我和你說個例子吧 假如我的a腳本里面有個 靜態變數asd 我在b腳本參考asd可以直接使用a.asd來訪問修改 對于方法也是一樣的轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/12429.html
標籤:Unity3D
