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