Java 打印对象
以下System.out在以下代码中打印什么Java 打印对象,java,Java,以下System.out在以下代码中打印什么 class ExampleTest {} public class Test { public static void main(String ... strings){ ExampleTest et=new ExampleTest(); System.out.println(et); System.out.println(new ExampleTest()); } } 当您将任何对象赋予print方法时,例如在代
class ExampleTest {}
public class Test {
public static void main(String ... strings){
ExampleTest et=new ExampleTest();
System.out.println(et);
System.out.println(new ExampleTest());
}
}
当您将任何对象赋予print方法时,例如在代码中,它将调用toString方法 在您的示例中,ExampleTest类不会重写此toString方法,因此它将调用Object.toString: 因此,输出将是该类的全名,以及该类的哈希代码的结果 以下是政府对此的看法: 返回的字符串表示形式 对象一般来说,toString 方法返回一个 文本表示此对象。 结果应该是一个简洁但不复杂的过程 信息表示法,即 一个人容易阅读。它是 建议所有子类 重写此方法 类对象的toString方法 返回由 对象所属的类的名称 是一个实例,at符号字符 `@,以及无符号十六进制 的哈希代码的表示形式 对象换句话说,这种方法 返回一个等于该值的字符串 其中:
当您将任何对象赋予print方法时,例如在代码中,它将调用toString方法 在您的示例中,ExampleTest类不会重写此toString方法,因此它将调用Object.toString: 因此,输出将是该类的全名,以及该类的哈希代码的结果 以下是政府对此的看法: 返回的字符串表示形式 对象一般来说,toString 方法返回一个 文本表示此对象。 结果应该是一个简洁但不复杂的过程 信息表示法,即 一个人容易阅读。它是 建议所有子类 重写此方法 类对象的toString方法 返回由 对象所属的类的名称 是一个实例,at符号字符 `@,以及无符号十六进制 的哈希代码的表示形式 对象换句话说,这种方法 返回一个等于该值的字符串 其中:
它打印类名,后跟@符号,后跟对象哈希代码的无符号十六进制表示。它打印类名,后跟@符号,后跟对象哈希代码的无符号十六进制表示。您试过运行它吗?或者你的问题是它为什么打印出它打印出的东西?你试过运行它吗?或者你的问题是为什么它打印出它打印出的东西?不,这就是对象的功能。正如Java中的每个其他类扩展对象一样,每个其他类都将执行相同的操作,除非它重写了它的toString方法。例如,如果您打印出一个整数,您将不会得到@符号,后面是散列,而是您所期望的:整数中包含的数字。最好看看@romaintaz的答案。@baba:你在OP的ExampleTest类中看到过一个超链接吗?不,这就是Object的功能。正如Java中的每个其他类扩展对象一样,每个其他类都将执行相同的操作,除非它重写了它的toString方法。例如,如果您打印出一个整数,您将不会得到@符号,后面是散列,而是您所期望的:整数中包含的数字。最好看看@romaintaz的答案。@baba:你在OP的ExampleTest类中看到过一个过度的toString吗?
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
getClass().getName() + '@' + Integer.toHexString(hashCode())