java中print(this)逻辑
来源:互联网 发布:网络订票退票手续费 编辑:程序博客网 时间:2024/06/05 09:54
原文地址点击打开链接public class Threadtest2 extends Thread{ private int c=5; private static int no; public Threadtest2(){ start(); } public void run(){ for(int i=0;i<10;i++){ System.out.println(this); }}请问,这个this 指代什么呢?JAVA初学者。不甚了解!如果我再重写toString方法public String toString(){return getName();}这个this会调用toString方法,不知道为什么
this表示当前对象,你使用System.out.println(this)就是表示打印当前对象,而输出的时候,因为this的类型并不是字符串,因此打印时会调用默认的toString方法。你重写了toString方法,自然打印出来的就是你重写的toString方法里面的语句:return getName();也就是说,最终调用了getName()方法,那么System.out.println(this)实际运行时等同于:System.out.println(getName());
除了楼上几位说的以外,toString是从Object类继承来的方法,Object是所有类的父类,所以所有的类都有该方法。你的那个类的this自然就有这个方法了,另外像hashCode() equals finalize clone 这些都是Object类的方法,任何的类都会有这么方法的。
toString
public String toString()返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。
Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
1 0
- java中print(this)逻辑
- java 中println(this)的逻辑
- java中print printf println
- Java中print、printf、println的区别 (
- Java中print、printf、println的区别
- java中print,printf,println区别
- Java中print println printf详细介绍
- Java中print、printf、println的区别
- Java中print、printf、println的区别
- Java中print、printf、println的区别
- Java中print、printf、println的区别
- Java中print、printf、println的区别
- Java中print和println的区别
- Java中 printf、print、println的区别
- java中this
- java中this详解
- JAVA中this指针
- java中 this用法
- Angularjs 回到顶部指令
- [AndroidAnnotatians] Intent传参
- Hadoop 之MapReduce 运行原理全解析
- RobotFrameWork+APPIUM实现对安卓APK的自动化测试----第一篇【安装】
- 关于分享公共库ShareSDK的用法
- java中print(this)逻辑
- unable to access android sdk add-on list
- socket(套接字)连接过程
- Lua学习笔记(基础篇)
- 【知识整理】双核浏览器强制使用极速/兼容模式方法
- 蓝桥杯 算法训练 最小乘积(基本型)
- 如何在CentOS 5/6/7上安装EPEL 源
- Android Design Support Library 介绍
- spring加载jar包中的application.xml文件