self关键字
来源:互联网 发布:面部识别软件 编辑:程序博客网 时间:2024/05/16 14:15
OC中有一个self关键字,用法跟Java中的this类似,都是代表着当前方法的调用者。但self和this还是有区别的。
回到顶部
一、Java中的this只能用在动态方法中,不能用在静态方法中
1.在动态方法中使用this关键字
1 public class Student {2 private int age;3 public void setAge(int age) {4 this.age = age;5 }6 }
在第4行使用了this,这里的this代表着调用setAge方法的某个Student对象
2.如果在静态方法中使用this关键字,直接报错
回到顶部
二、OC中的self既可以用在动态方法中,也可以用在静态方法中
1.self在动态方法中
1 @implementation Student 2 3 - (void)test2 { 4 5 } 6 7 (void)test3 { 8 [self test2]; 9 }10 11 @end
* 在第3行、第8行定义了2个动态方法
* 在第8行使用了self关键字,这里的self代表着调用test3方法的某个Student对象
* 第8行代码的作用是调用Student对象的动态方法test2
2.self在静态方法中
1 @implementation Student 2 3 (void)test2 { 4 5 } 6 7 (void)test3 { 8 [Student test2]; 9 10 [self test2];11 }12 13 @end
* 在第3、第7行定义了2个静态方法,看清楚方法前面的+号
* 再看第10行,这里用到了self。看清楚了,是在静态方法test3中用到了self关键字
* 一开始就说了,self代表着当前方法的调用者。当前方法是test3,那test3的调用者是谁呢?肯定是Student这个类,因为test3是个静态方法。因此这里的self代表着Student这个类
* 因此,第8行、第10行的作用是一样,都是调用了静态方法test2
3.self总结
1> 在动态方法中,self代表着"对象"
2> 在静态方法中,self代表着"类"
3> 万变不离其宗,记住一句话就行了:self代表着当前方法的调用者
0 0
- self关键字
- self关键字
- self关键字
- @synchronized关键字与self关键字
- @synchronized关键字与self关键字
- 十五、关键字self
- 关键字”self”和”super”
- OC self关键字
- Objective-self关键字
- 6、OC self关键字
- 06-self关键字
- Objective-C self关键字
- iOS中self关键字
- 【Objective-C】self关键字
- OC self关键字
- self 关键字的使用
- 【力学】self关键字
- Objective-C self关键字
- Hadoop-2.2.0中文文档—— MapReduce 下一代 - Encrypted Shuffle
- ARM CPU的命名规则
- 两分钟彻底让你明白Android Activity生命周期(图文)!
- Linux I/O 模型
- Intent传递简单对象与集合
- self关键字
- android 流量的统计
- SharePoint 2013 中文站点更新列表字段的标题(Title)不能work
- Ubuntu Server启动root并配置远程登陆
- 面向对象表达式(2)
- 但为什么公务车却独享舒适?
- 软媒魔方5.13发布:制作U盘启动,更快速
- 初涉设计模式
- DB2 类型转换函数