objc中的类方法和实例方法有什么本质区别和联系
- 类方法:
- 类方法是属于类对象的
- 类方法只能通过类对象调用
- 类方法中的self是类对象
- 类方法可以调用其他的类方法
- 类方法中
不能
访问成员变量 - 类方法中
不能
直接调用对象方法 - 类方法是存储在元类对象的方法缓存中
- 实例方法:
- 实例方法是属于实例对象的
- 实例方法只能通过实例对象调用
- 实例方法中的self是实例对象
- 实例方法中可以访问成员变量
- 实例方法中直接调用实例方法
- 实例方法中
可以调用类方法(通过类名)
- 实例方法是存放在类对象的方法缓存中
相关推荐
- 并发编程面试题 1.进程和线程还有协程之间的关系 2.并发和并行之间的区别 3.Java中多线程实现的方式 4.Callable和Future模式 5.线程池创建的方式 6.Java当中线程状态有哪些 7.多线程中的常用方法 8.线程状态流程图 9.volatile关键字有什么用途,和Synchronize有什么区别 10.先行发生原则 11.并发编程线程安全三要素 12.进程和线程间调度算法 13.Java开发中用过哪些锁 14.synchronized关键字理解 15.CAS无锁机制 16.AQS 17.ReentrantLock底层实现 18.ReentrantLock和synchronized之间的区别 19.ReentrantReadWriteLock(读写锁) 20.BlockingQueue阻塞队列的实现方式 21.ConcurrentLinkedQueue
- 第82天:jQuery中prop()和attr()的区别 在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了。
- Java 中,接口中的方法声明成 abstract 和不声明有什么区别?解决方案
- 面向对象数据库(Object Oriented Databases) 前面说几句费话。如今正在从事面向对象数据库在国内的推广工作,假设有兴趣能够与我联系。假设有不论什么问题能够私信我,也能够到我们站点上 面向对象数据库交流社区 来向我提问,我一定以最快的速度解答。 想把 面向对象数据库交流社区 打造成为国内最大的面向对象数据交流的社区,希望有兴趣的与我共同经营这个社区。以下的译文。 面向对象数据库也被称为对象数据管理系统。对象数据库存储面向对象编程语言(如Smalltalk,C++,java等)中的对象而不只像关系数据库那样存储整数,字符串和实数等。对象一般由下面几部分构成:--属性:属性量化对象的特征,这些量有可能是简单的整数,字符串或者实数。也有可能是一个复杂的对象。--方法:方法也通常被称为过程或者函数,方法规定了对象的行为。因此。对象包括可运行的代码和数据。当然对象也有其它特征,比如一个方法或者数据能否在对象以外获取到。可是为了我们的文章简单易懂并应用到面向对象数据库中,在本文中我们
- 类和全局变量的有什么区别解决方法
- java基础知识(二) 什么是java虚拟机?为什么java被称作是“平台无关的编译语言”? JDK和JRE的区别是什么? “static”关键字是什么意思?java中是否可以覆盖一个private或者是static的方法? 是否可以在static环境中访问非static变量? 同步方法和同步代码块的区别是什么? 在监视器内部,是如何做线程同步的?程序应该做那种级别的同步? 如何去报N个线程可以访问N个资源同时又不导致死锁? 为什么集合类没有实现Clonable和Serializable接口? 什么是迭代器(Iterator)? 快速失败和安全失败的区别是什么? Comparable和Comparator接口是干什么的?它们的区别? 什么是java优先级队列(Priority Queue)? Enumeration和Iterator接口的区别有哪些? System.gc()和Runtime.gc()会做什么事情? finalize()方法什么时候被调用?析构函数(finalization)的目的是
- 类里的一个属性设置成private加上get/set方法和直接设置成public有什么区别吗,该怎么处理
- java技术面试之面试题大全 Java 面试知识点总结 Java 方向如何准备 BAT 技术面试答案 (汇总版) 1.面向对象和面向过程的区别 2.Java的四个基本特性(抽象、封装、继承,多态) 3.重载和重写的区别 4.构造器Constructor是否可被override 5.访问控制符public,protected,private,以及默认的区别 7.String和StringBuffer、StringBuilder的区别 8.hashCode和equals方法的关系 9.抽象类和接口的区别 10.自动装箱与拆箱 11.什么是泛型、为什么要使用以及泛型擦除 12.Java中的集合类及关系图 13.HashMap实现原理 14.HashTable实现原理 15.HashMap和HashTable区别 16.ArrayList和vector区别 17.ArrayList和LinkedList区别及使用场景 18.Collection和Collections的区别 19.Concurrentha
- Python--day26--反射 反射对象的属性:(非常重要) getattr(类名,‘属性名’):获得属性值 hasattr(类名,‘属性名’)方法:有的话就返回true,没有就返回false,,配合着getattr方法使用,夫妻档。 反射的好处: 总结: 反射对像的方法: 总结: 反射模块的属性: 反射模块的方法: 反射自己模块中的变量和反射自己模块中的方法: 反射自己模块中的方法一般用sys.modules[__name__]而不用sys.modules['__main__’] 要反射的函数有参数就直接在后面的括号中添加参数: 一个模块中的类也可以通过反射得到: setattr 设置修改变量:(涉及安全性问题,尽量少用) delattr 删除一个变量(涉及安全性问题,尽量少用)
- springboot自动装配原理【超详细】(转载) SpringBoot启动原理精简版 Spring Boot、Spring MVC 和 Spring 有什么区别? 一 springboot启动原理及相关流程概览 二 springboot的启动类入口 三 单单是SpringBootApplication接口用到了这些注解 四 springboot启动流程概览图 五 深入探索SpringApplication执行流程 简单了解下Bean的生命周期 BeanFactory 和ApplicationContext的区别 SpringMVC处理请求的流程 BEANFACTORY和FACTORYBEAN的区别与联系 Bean的循环依赖 @Import注解介绍 同一个类中调用 @Transaction注解的方法会有事务效果吗? 来源
- 人生路上对我影响最大的三位老师
- 币值转换