class Test{
private int num;
Test( int num){
this.num = num;
}
}
public class DemoD {
public static void main(String[] args){
Test t = new Test(8);
System.out.println(t.toString()); //类似输出:Test@1ec8909 // t是一个对象的引用 实际上会打印出引用所指对象的 toString()方法的返回值。
System.out.println(t); //输出内容同上,Test@1ec8909 //因为每个类都直接或间接 地继承自 Object,而 Object 类中定义了 toString(),
System.out.println(t instanceof Object); //输出:true //因此每个类都有toString()这个方法,默认就是调用tostring(),所以结果一样。
System.out.println(t.toString() instanceof Object); //输出:true
//System.out.println(t.toString()==t); //那为什么这句话编译不能通过? //肯定不能编译啊,此时t.toString()是字符串,而后面的t 是引用,类型不一致。
// Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)
、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于: getClass().getName() + '@' + Integer.toHexString(hashCode()) |