println打印一个类的实例化对象的引用,结果是什么???、一直很纠结,有时候打印的会是引用的内存空间地址值,但是有时候就是打印的是引用的内容值。
我们打印自己定义的类的引用的是基本都是地址值,但是对于java中的一些基本类,很多都是其内容。、
原因很简单:
Objct类是所有类的父类,所有的类都是直接或者间接的继承自这个类,这个类中有一个tostring()方法,在java的objct类中jdk中可以看到,定义的是这个值返回的是一个string类型的,其内容的是对象的内存地址值。但是很多java中的基本类都会重写这个方法,使其打印的时候默认的调用这个方法,打印引用所对的对象的内容的字符串值。特别是String类中很是明确。我们自定义的类都是没有重写的,所以会产生打印内存地址值。
|
|