java为类对象定义println

时间:2016-03-16 13:01:42

标签: java class

在C ++中,可以实现ostream operator <<以便能够定义如何将类输出到流cout << Class

java中是否可以执行out.println(Class)之类的操作?

1 个答案:

答案 0 :(得分:6)

System.out.print()调用传递给它的对象的toString()方法。如果您覆盖类中的toString()方法,则可以在那里实现自定义行为。您的类从Object继承该方法。每个类都有Object作为java中的超类。以下是默认实现。

public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

打印方法(System.out.print(Object obj))看起来像这样

public void print(Object obj) {
    write(String.valueOf(obj));
}

String.valueOf(Object obj)方法最终调用toString()