遇到的一个关于 this 和toString()的问题
2015-11-15 21:40
267 查看
在学习 垃圾回收 机制的时候,遇到一个问题,然后改写了一下代码,如下:
测试结果输出的是:对象被释放姓名–张三–年龄–30
首先奇怪的是输出,为什么没有调用toString()方法,为什么会输出方法里面的内容呢?经过仔细的查找了一下 原因在于toString() 是String 类中的一个方法,上面的代码对改方法进行了重写,并且该方法返回的是此对象本身。
api中解释如下:
上面的代码 toString中 return 的字符串 赋值给了 当前对象,返回的是对象本身,所以结果输出的是 张三–年龄–30
而不是this的地址。
–本人初学者,勿喷。希望自己谨记 错误,不断概括,不断学习。
package day1021; class Person { private String name; private int age; public Person(String name,int age) { this.name =name; this.age = age; } public String toString() { return "姓名--"+name+"--年龄--"+age; } public void dada() { System.out.println("对象被释放"+this); } } public class Test3 { public static void main(String[] args) { Person per = new Person("张三",30); per.dada(); } }
测试结果输出的是:对象被释放姓名–张三–年龄–30
首先奇怪的是输出,为什么没有调用toString()方法,为什么会输出方法里面的内容呢?经过仔细的查找了一下 原因在于toString() 是String 类中的一个方法,上面的代码对改方法进行了重写,并且该方法返回的是此对象本身。
api中解释如下:
上面的代码 toString中 return 的字符串 赋值给了 当前对象,返回的是对象本身,所以结果输出的是 张三–年龄–30
而不是this的地址。
–本人初学者,勿喷。希望自己谨记 错误,不断概括,不断学习。
相关文章推荐
- C#中this指针的用法示例
- C# 参考之访问关键字:base、this
- C#中this的使用实例分析
- javascript运行机制之this详细介绍
- JavaScript通过this变量快速找出用户选中radio按钮的方法
- JavaScript中this关键词的使用技巧、工作原理以及注意事项
- Javascript this 的一些学习总结
- 浅谈javascript中this在事件中的应用
- PPK 谈 JavaScript 的 this 关键字 [翻译]
- js中this用法实例详解
- A标签中通过href和onclick传递的this对象实现思路
- 深入理解Javascript中this的作用域
- JS中的THIS和WINDOW.EVENT.SRCELEMENT详解
- Javascript this关键字使用分析
- JavaScript四种调用模式和this示例介绍
- JQuery this 和 $(this) 的区别
- jquery中this的使用说明
- JavaScript中this的9种应用场景及三种复合应用场景
- javascript中的self和this用法小结
- JavaScript ECMA-262-3 深入解析.第三章.this