这个计划
public class HelloWorld{
    public void testFunc(){
        System.out.println("Class = "+this);
    }
    public static void main(String[] args){
        HelloWorld hw = new HelloWorld();
        System.out.println("Hello, World");
        hw.testFunc();
    }
}  
给我这个输出:
Hello, World
Class = HelloWorld@7c6768
这是什么@7c6768的HelloWorld后,在第二行是什么意思?
jlo*_*rdo 13
对象的toString()实现如下:
public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
由于您的HelloWorld类不会覆盖它,因此这是调用的方法.
该toString()方法返回该对象的字符串表示形式.
通常,该toString()方法返回一个"文本表示"此对象的字符串.结果应该是一个简洁但信息丰富的表示,便于人们阅读.建议所有子类都重写此方法.
返回一个字符串的toString方法,class Object该字符串由对象为实例的类的名称,符号字符"@"以及对象的哈希码的无符号十六进制表示形式组成.换句话说,此方法返回一个等于值的字符串:
 getClass().getName() + '@' + Integer.toHexString(hashCode())
类Object的toString方法返回一个字符串,该字符串由对象为实例的类的名称,符号字符"@"和对象的哈希码的无符号十六进制表示组成.换句话说,此方法返回一个等于值的字符串:
什么时候
 getClass().getName() + '@' + Integer.toHexString(hashCode())
当您在对象调用toString(),如果你ovveride像下面,你会得到自己的实现
 @Override
  public String toString() {
     //return something 
  }
否则提供您现在看到的默认实现
返回对象的字符串表示形式.通常,toString方法返回一个"文本表示"此对象的字符串.结果应该是一个简洁但信息丰富的表示,便于人们阅读.建议所有子类都重写此方法.
类Object的toString方法返回一个字符串,该字符串由对象为实例的类的名称,符号字符"@"和对象的哈希码的无符号十六进制表示组成.换句话说,此方法返回一个等于以下值的字符串:getClass().getName()+'@'+ Integer.toHexString(hashCode())
Returns:
a string representation of the object.
    public String  toString() {
         return getClass().getName() + "@" + Integer.toHexString(hashCode());
     }
| 归档时间: | 
 | 
| 查看次数: | 991 次 | 
| 最近记录: |