博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
浅谈this关键字
阅读量:4361 次
发布时间:2019-06-07

本文共 1324 字,大约阅读时间需要 4 分钟。

1.this指向当前的对象,更确切的说this是执行当前对象的一个引用变量,比如以下代码,输出的结果的地址值是相同的,也就是this指向了P这个对象

1 public class Person { 2     String name; 3     int age; 4     public void say(){ 5          6          7         System.out.println("this:"+this); 8     } 9     public static void main(String[] args) {10         Person p=new Person();11         p.say();12         System.out.println("p:"+p);13     }14 }

2.在一个类中,当这个类中的成员变量被与他同名的构造方法中的局部变量隐藏时,我们可以通过this.变量名调用。如下代码:当第7行我们不用this关键字时,输出是“张三吃”,反之“李四吃”,这里的this就是指向11行的p,相当于p.name。

1 public class Person { 2     String name="李四"; 3     int age; 4      5     public Person(){ 6     String    name="张三"; 7         System.out.println(this.name+"吃"); 8          9     }10     public static void main(String[] args) {11         Person p=new Person();12         13     }14 }

3.当构造方法调用构造方法时,我们可以用this([参数列表])来调用,无参用this(),如以下代码。需要追的是this必须书写在第一行。打印时先打印this的结果:12行,然后打印7行。

1 public class Person { 2     String name; 3     int age; 4      5     public Person(String name){ 6         this("李四",23);     7     System.out.println("一个变量的构造方法"); 8          9     }10     public Person(String name,int age){11         12         System.out.println("两个变量的构造方法");13     }14     public static void main(String[] args) {15         Person p=new Person("张三");16     }17 }

 

转载于:https://www.cnblogs.com/dear-java/p/4966259.html

你可能感兴趣的文章
201521123100 《Java程序设计》第13周学习总结
查看>>
阿里云ECS 网站访问变卡
查看>>
一款好用的在线免费思维导图制作工具
查看>>
PL/SQL 美化器不能解析文本
查看>>
Spring Security @PreAuthorize 拦截无效
查看>>
iOS打开百度地图、高德地图导航
查看>>
字典过滤器
查看>>
学习进度条 第十三周
查看>>
creating a table and inserting data
查看>>
详解为什么32位系统只能用4G内存.
查看>>
cocos creator基础-(二十二)滚动列表高级使用 动态加载数据
查看>>
系统日志过大与清理
查看>>
[TODO]Ubuntu挂载硬盘之后出现乱码以及文件丢失现象
查看>>
poj1417 True Liars
查看>>
线程池
查看>>
配置APP的图标
查看>>
IOS5中的Safari不兼容Javascript中的Date问题,做下笔录吧!奶奶的,折腾我半天!...
查看>>
利用element-ui封装地址输入的组件
查看>>
【线段树区间最值单点更新模板】BNUOJ 52965 E Excellent Engineers
查看>>
String、StringBuffer与StringBuilder之间区别
查看>>