java中直接输出一个对象

来源:互联网 发布:php注册短信验证 编辑:程序博客网 时间:2024/06/07 04:54

最近做到一个题目,直接System.out.print()一个对象,开始有些不解,然后找了下资料,整理一下。

public static void main(String[] args) {java.util.Scanner in = new java.util.Scanner(System.in);Clock clock = new Clock(in.nextInt(), in.nextInt(), in.nextInt());clock.tick();System.out.println(clock);in.close();}
clock是一个对象,Java中直接输出一个类的对象的时候,会调用这个类的toString()方法,自己写的类没有覆盖这个方法的话就是继承Object类的这个方法,Object中toString()方法的实现是这样的:getClass().getName() + "@" + Integer.toHexString(hashCode())。后面跟的是这个类的哈希码值,如果希望这个类打印出你希望的格式,你就要覆盖toString方法。
例如:

package dierzhou;class Test {public int data;public int num;Test(int data,int num){this.data=data;this.num=num;}public static void main(String[] args){Test a=new Test(1,2);System.out.println(a);}}
输出结果为:

dierzhou.Test@139a55。

0 0