zoukankan      html  css  js  c++  java
  • iOS—静态方法(类方法)和实例方法

    1.实例方法/动态方法

        a).标识符:-

        b).调用方式:(实例对象    函数)

        c).实例方法在堆栈上。

    2.静态方法/类方法

        a).标识符:+

        b).调用方式:(类    函数)

        c).静态方法在堆上分配内存。

    3.静态方法和实例方法的区分

         a).静态方法常驻内存,实例方法不是,所以静态方法效率高但占内存。事实上,方法都是一样的,在加载时机和占用内存上,静态方法和实例方法是一样的,在类型第一次被使用时加载。调用的速度基本上没有差别。

        b).静态方法在堆上分配内存,实例方法在堆栈上。事实上所有的方法都不可能在堆或者堆栈上分配内存,方法作为代码是被加载到特殊的代码内存区域,这个区域是不可写的。

        c).实例方法需要先创建实例才可以调用,比较麻烦,静态方法不用,比较简单。

        d).静态方法是静态绑定到子类,不是被继承。

        e).一般使用频繁的方法用静态方法,用的少的方法用动态的。静态的速度快,占内存。动态的速度相对慢些,但调用完后,立即释放类,可以节省内存,可以根据自己的需要选择是用动态方法还是静态方法。

        f).静态方法修改的是类的状态,而对象修改的是各个对象的状态。

        g).类的实例调用是在类的生命周期中存在,当类没有了以后,对应的实例也就没有了,对应的方法也就没有了。静态类不然,只要你引用了那个静态类的命名空间,它就会一直存在,直到我们推出系统。

    注:下面的就是用的类方法,特点:首字母大写,实例方法往往首字母小写

     

  • 相关阅读:
    可怕的沉默
    我排着队 拿着号码牌
    移动改名正在运行的程序
    C# 注册热键
    c#通过编码检查是否有PendingChanges没有签入
    c#读取带命名空间的xml
    自动查找并关闭窗口
    C# 应用微软的Visual Studio International Pack 类库提取汉字拼音首字母
    C#执行DOS命令(CMD命令) (转)
    asp.net 文件下载,有进度条
  • 原文地址:https://www.cnblogs.com/LifeTechnologySupporter/p/4852222.html
Copyright © 2011-2022 走看看