学习笔记之08-self关键字
2014-11-05 22:04
246 查看
一、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代表着当前方法的调用者
相关文章推荐
- Objective-C基础学习笔记(四)-面向对象的三大特性之继承-self关键字
- OBJ-C self和super关键字学习笔记
- OC学习笔记之self关键字
- (08)Java学习笔记——面向对象02——关键字this static
- 【学习笔记】【OC语言】self关键字
- 黄聪:c# override,new关键字区别与使用(学习笔记)
- 【JAVA学习笔记】01 标志符号、关键字、类型
- C++学习笔记--explicit关键字
- C#.NET学习笔记---C#中类的修饰符,this关键字和static关键字
- C#学习笔记和年轻真好 08/01/19
- Effective C# 学习笔记(三十三) 只在更新基类时,使用new关键字
- Java中final关键字学习笔记
- C++的explicit关键字 学习笔记
- 【线程同步学习笔记】C#中的lock关键字
- Java学习笔记---12.面向对象编程07-Java中的static关键字用法
- Effective c++学习笔记——条款08:别让异常逃离析构函数
- C#学习笔记 08/01/18
- c# override,new关键字区别与使用(学习笔记)
- java学习笔记(二十三)final关键字
- Vray材质学习笔记08——陶瓷材质