java中直接输出一个对象

xiaoxiao2021-02-28  93

最近做到一个题目,直接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://www.6miu.com/read-75566.html

最新回复(0)