java对象输出流

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值