我们可以使用System.out.println
轻松打印数组(虽然数组也是java中的一种对象),但是为什么我们不能在不重写toString的情况下直接打印对象()
方法?
例如:
int array[]=new int(2);
array[0]=10;
System.out.println(array[0]); //it works
Object obj=new Object();
System.out.println(obj); //it shows the classname and some value i don't know
最佳答案
"it shows the classname and some value i don't know"
嗯,这就是 Object
实例的打印方式,对于 Object
类的实例(即不是 Object
的子类),您可以无法覆盖 toString
。
对于 Object
的自定义子类,您必须自己决定对象的字符串表示形式(通过重写 toString
)。 Java 不会为您决定。
关于java - 如何在不覆盖的情况下打印对象字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31229550/