当前位置: 首页 > news >正文

iOS—静态方法(类方法)和实例方法

1.实例方法/动态方法

    a).标识符:-

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

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

2.静态方法/类方法

    a).标识符:+

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

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

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

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

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

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

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

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

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

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

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

 

转载于:https://www.cnblogs.com/LifeTechnologySupporter/p/4852222.html

相关文章:

  • [HDOJ4911]Inversion
  • MySQL的Auto-Failover功能
  • (转)菜鸟学数据库(三)——存储过程
  • Swift - 禁用UIWebView和WKWebView的下拉拖动效果
  • ubuntu上hadoop 单节点伪分布式安装测试
  • 开发npm模块经验总结
  • Fiddler
  • 菜鸟的it之路-起航
  • 10分钟掌握XML、JSON及其解析
  • WIN32编程经验总结
  • awk 内容
  • (算法)Game
  • Java Web项目的发布
  • 学习git遇到的问题的提出与总结
  • 鸡蛋的硬度
  • python3.6+scrapy+mysql 爬虫实战
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • css的样式优先级
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Leetcode 27 Remove Element
  • sublime配置文件
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 回顾 Swift 多平台移植进度 #2
  • 基于webpack 的 vue 多页架构
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 排序(1):冒泡排序
  • 思否第一天
  • 线性表及其算法(java实现)
  • 写给高年级小学生看的《Bash 指南》
  • 自定义函数
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • ​Spring Boot 分片上传文件
  • #pragma 指令
  • #vue3 实现前端下载excel文件模板功能
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (SpringBoot)第七章:SpringBoot日志文件
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (离散数学)逻辑连接词
  • (力扣)循环队列的实现与详解(C语言)
  • (一)SpringBoot3---尚硅谷总结
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (转)重识new
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET大文件上传知识整理
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • @ModelAttribute使用详解
  • @Transient注解