日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

08.self关键字

發布時間:2024/4/14 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 08.self关键字 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


一、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??辞宄?#xff0c;是在靜態方法test3中用到了self關鍵字

* 一開始就說了,self代表著當前方法的調用者。當前方法是test3,那test3的調用者是誰呢?肯定是Student這個類,因為test3是個靜態方法。因此這里的self代表著Student這個類

* 因此,第8行、第10行的作用是一樣,都是調用了靜態方法test2

?

3.self總結

1> 在動態方法中,self代表著"對象"

2> 在靜態方法中,self代表著"類"

3> 萬變不離其宗,記住一句話就行了:self代表著當前方法的調用者

轉載于:https://blog.51cto.com/fengsonglin/1689520

總結

以上是生活随笔為你收集整理的08.self关键字的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。