首页 > 其他 > 详细

A@2a139a55 结果产生的原因

时间:2015-11-04 21:25:45      阅读:1063      评论:0      收藏:0      [点我收藏+]

程序代码:

public class ExplorationJDKSource {

/**
* @param args
*/
public static void main(String[] args) {
System.out.println(new A());
}

}

class A{}

运行结果:

A@2a139a55

为啥会产生这样的结果??!!

原因分析:

main方法实际上调用的是: public void println(Object x),这一方法内部调用了String类的valueOf方法。

valueOf方法内部又调用Object.toString方法:

public String toString()

{

    return getClass().getName() +"@" + Integer.toHexString(hashCode());

}

hashCode方法是本地方法,由JVM设计者实现: public native int hashCode();

所以通过层层调用结果就显示出了      类名+@+哈希值!! !    哈哈哈

A@2a139a55 结果产生的原因

原文:http://www.cnblogs.com/aishangtaxuefeihong/p/4937038.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!