t3s java_关于JAVA的this关键字
網上對this的描述很朦朧,有的說this表示的是當前對象自己,有的說this是當前對象的引用。
可是自己寫了如下的測試代碼,產生了幾個問題:1?public?class?T3AboutThis?{
2
3?????public?static?void?main(String[]?args)?{
4?????????new?SubT3().func();
5?????????SuperT3?s?=?new?SuperT3();
6?????????System.out.println(s?instanceof?SubT3);//false
7?????}
8?}
9
10?class?SuperT3?{
11?????protected?String?name?=?"Jack";
12
13?????protected?void?func()?{
14?????????System.out.println(this.name);//Jack
15?????????System.out.println(this?instanceof?SuperT3);//true
16?????????System.out.println(this?instanceof?SubT3);//true
17?????}
18?}
19?class?SubT3?extends?SuperT3?{
20?????protected?String?name?=?"Peter";
21?}
1.this表示的是指向一個實例嗎。如果不是指向一個實例,那么為什么this可以參與instanceof運算或當作引用參數傳進方法里,super為什么不能?
2.如果this表示當前對象,那么我在第4行new的SubT3的實例,在第14行為什么沒有打印出peter呢。
3.如果在第14行時,this只表示SuperT3的引用(我也不知道到底引用什么),那為什么第16行沒有打印出與第6行相同的結果呢?
我真的是有點繞暈了。
總結
以上是生活随笔為你收集整理的t3s java_关于JAVA的this关键字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html css模仿实例,HTML+CS
- 下一篇: 计算机动画制作 教学设计,《设置动画效果