package day_1;
public class test01 {
public static void main(String[] args) {
String str=new String();
System.out.println("str:"+str);
}
}
打印对象应该打印出地址值,为什么打印String,没有打印出地址值,而是什么都没有打印。
运行效果:
str:
package day_1;
public class test01 {
public static void main(String[] args) {
String str=new String();
System.out.println("str:"+str);
}
}
打印对象应该打印出地址值,为什么打印String,没有打印出地址值,而是什么都没有打印。
运行效果:
str:
什么都没打印出来,那是因为是空串
详细解释如下:
当打印对象的引用时,会默认调用Object类的toString()方法,返回的是一个字符串表示,该字符串的形式为类名+@+十六进制的哈希值;为什么String打印的不是这样一个地址值呢?因为String类继承自Object类,重写了从Object类拿到的toString()方法,返回的是该该对象本身,即字符串。
以上仅供参考,如有任何疑问,可以评论回复,看到即回,希望对题主有所帮助!可以的话,点个采纳!