IOS—靜態方法(類方法)和執行個體方法

來源:互聯網
上載者:User

標籤:

1.執行個體方法/動態方法

    a).標識符:-

    b).調用方式:(執行個體對象    函數)

    c).執行個體方法在堆棧上。

2.靜態方法/類方法

    a).標識符:+

    b).調用方式:(類    函數)

    c).靜態方法在堆上分配記憶體。

3.靜態方法和執行個體方法的區分

     a).靜態方法常駐記憶體,執行個體方法不是,所以靜態方法效率高但占記憶體。事實上,方法都是一樣的,在載入時機和佔用記憶體上,靜態方法和執行個體方法是一樣的,在類型第一次被使用時載入。調用的速度基本上沒有差別。

    b).靜態方法在堆上分配記憶體,執行個體方法在堆棧上。事實上所有的方法都不可能在堆或者堆棧上分配記憶體,方法作為代碼是被載入到特殊的代碼記憶體地區,這個地區是不可寫的。

    c).執行個體方法需要先建立執行個體才可以調用,比較麻煩,靜態方法不用,比較簡單。

    d).靜態方法是靜態繫結到子類,不是被繼承。

    e).一般使用頻繁的方法用靜態方法,用的少的方法用動態。靜態速度快,占記憶體。動態速度相對慢些,但調用完後,立即釋放類,可以節省記憶體,可以根據自己的需要選擇是用動態方法還是靜態方法。

    f).靜態方法修改的是類的狀態,而對象修改的是各個對象的狀態。

    g).類的執行個體調用是在類的生命週期中存在,當類沒有了以後,對應的執行個體也就沒有了,對應的方法也就沒有了。靜態類不然,只要你引用了那個靜態類的命名空間,它就會一直存在,直到我們推出系統。

註:下面的就是用的類方法,特點:首字母大寫,執行個體方法往往首字母小寫

 

IOS—靜態方法(類方法)和執行個體方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.