最近做到一个题目,直接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。
---------------------
作者:没想好叫什么名字
来源:优快云
原文:https://blog.youkuaiyun.com/m0_37286282/article/details/71326330
版权声明:本文为博主原创文章,转载请附上博文链接!