java metapojo_混合groovy类后,POJO和POGO各自的toString方法之间有什么区别

class A { String methodFromA() { 'A' } }

class B { String methodFromB() { 'B' } }

A.metaClass.mixin B

def o = new A()

assert o.methodFromA() == 'A'

assert o.methodFromB() == 'B'

assert o instanceof A

assert !(o instanceof B)

println A

println A.toString()

JavaPojo.metaClass.mixin( B)

def javaPojo=new JavaPojo()

println javaPojo

println javaPojo.toString()

结果:

class com.xxx.A

class com.xxx.B

toString from Java

com.xxx.B@5c1a1ff9

为什么line3来自java?为什么line4是一个ints toString(以hashcode结尾)

这是我的环境

➜~groovy--version Groovy版本:2.4.7 JVM:1.7.0_25供应商:Oracle Corporation操作系统:Mac OS X

➜~java-version java version“1.7.0_25”Java(TM)SE运行时环境(版本1.7.0_25-b15)Java HotSpot(TM)64位服务器VM(版本23.25-b01,混合模式)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值