JAVA对象

java对象是都是Object类的实例,都可直接调用该类中定义的方法,这些方法提供了处理java对象的通用方法。

> > 6.2.1打印对象和toString方法
    先看下面程序:
  程序清单:codes/06/6-2/PrintObjectjava

public class PrintObject{  public static void main(String args[]){  Person p = new Person("帅气de猪八戒");  System.out.println(p.toString());  //跟p.toString()效果一样
    }
}
class Person {  private String name;  public Person(String name){  this.name = name;  }  public void info(){  System.out.println("此人名为:" + name);  }
}  

输出:

String.Person@c17164

当读者运行上面程序时,可能看到不同的输出结果:@符号后的6位16进制数字可能发生改变
但这个输出结果是怎么来的呢?System.out.println方法只能在控制台输出字符串.当使用该方法输出
Person对象时,实际上输出的是Person对象的toString()方法的返回值,也就是说,下面代码结果完全一样:

System.out.println(p);
System.out.println(p.toString());
    toString方法是Object类里的一个实例方法,所有Java类都是Object类的子类,因此所有Java对
象都具有toString方法。
    不仅如此,所有Java对象都可以和字符串进行连接运算,当Java对象和字符串进行连接运算时,
系统自动调用Java对象toString方法的返回值和字符串进行连接运算,即下面两行代码的结果也完全
相同:
    String pStr = p + "";
    String pstr = p.toString() + "";
    toString方法是一个非常特殊的方法,它是一个“自我描述”方法,该方法通常用于实现这样一个
功能:当程序员直接打印该对象时,系统将会输出该对象的“自我描述”信息,用以告诉外界该对象
具有的状态信息。

转载于:https://www.cnblogs.com/rainey-forrest/p/4691577.html

打印对象和toString方法相关推荐

  1. 你会如何给全局对象添加toString()方法

    首先,在讨论如何给所有方法window对象添加toString方法的时候,我们先来说说window的对象继承与对象实例,以及构造函数的this指针,还有变量的提升与方法的调用方式,最终一探window ...

  2. JavaScript基础09-day11【原型对象、toString()、垃圾回收、数组、数组字面量、数组方法】

    学习地址: 谷粒学院--尚硅谷 哔哩哔哩网站--尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通) JavaScript基础.高级学习笔记汇总表[尚硅谷最新版Ja ...

  3. 关于null对象使用print方法打印问题总结,null+123打印结果是null123还是123?

    首先回忆一下String str = null与String str = "" 的区别: null表示一个空对象,除了基础类型以外的其它类型,都能以此声明一个对象,但未分配堆内存空 ...

  4. Java list打印对象的方法

    今天在使用println打印list时发现打印的并不是字符串,而是下面这种类型 pojo.Account@ea6147e 因为我的list里面存放的是object类,所以在打印时会调用该对象的toSt ...

  5. 为什么toString方法可以用来区分数组和对象?

    首先大家都应该知道在javascript中只有是对象都存在toString方法,将调用该方法的值转换为字符串返回,如下: var arr = [1, 2, 3];console.log(arr.toS ...

  6. 为什么toString()方法会自动被调用

    转载自:http://blog.csdn.net/anddyhua/article/details/42675099    为什么toString 方法会自动被调用 先执行下面一段代码: packag ...

  7. [转载] JAVA面向对象之代码块 继承 方法的重写 super关键字与重写toString()方法介绍

    参考链接: 可以重写Java中的私有方法吗 JAVA面向对象之代码块与继承 代码块分类 局部代码块 作用:限制变量生命周期 书写位置:在方法中 构造代码块 开发中很少使用 书写位置:类中  方法外 调 ...

  8. Java记录 -45- List的toString方法

    在使用集合时,都习惯性的使用循环遍历其中的每个元素. 想知道集合中的每个元素的信息,是不是必须要循环遍历每个元素呢? 比如在打印日志信息时,有些集合如List需要记录下来,一般都使用循环遍历集合,将集 ...

  9. 始终重写 toString 方法

    **始终重写 toString 方法** 虽然 Object 类提供了 toString 方法的实现,但它返回的字符串通常不是你的类的用户想要看到的.它由类名后跟一个「at」符号(@)和哈希码的无符号 ...

最新文章

  1. C#基础系列问题一break、continue、return、goto语句
  2. (0005) iOS 开发之WebViewJavascriptBridge的升级问题
  3. matlab三维feather,matlab高维图形,别地方抄来的
  4. P3389 【模板】高斯消元法
  5. mybatis3中@SelectProvider的使用技巧
  6. ASP.NET Forms验证 实现子域名(SubDomain)共享登陆下的缺陷 [转]
  7. 1.4Hadoop伪分布式安装
  8. 禁止html文件控件手动输入的方法
  9. ListView的CheckBox实现全部选中/不选中
  10. IT部领导总结:不想被淘汰,看看快速做报表的技巧,甚至能养老
  11. 1、测试面试流程整理记录1
  12. 10麦客和300挖藕人
  13. linux下shell脚本启动其他可执行程序
  14. @ResponseBody 406:The resource identified by this request is only capable of generating respon......
  15. 千梦网创108计第三十六计:当地人才招聘网,一个年入50W的战友实操案例
  16. 解释:commission errors(错分误差) and omission errors(漏分误差)
  17. opencv 文字分割
  18. 328个计算机毕业设计题目
  19. 电子科技大学硕士毕业论文和博士毕业论文Latex模板及问题集锦
  20. 旅行世界登陆显示服务器繁忙,原神登陆系统繁忙 原神无法登录怎么办

热门文章

  1. js运动动画的八个知识点
  2. Android之在Layout中自定义View
  3. hadoop1.2.1安装配置
  4. 时序图、活动图、状态图、协作图的区别
  5. 嵌入式系统启动流程和启动代码的作用 !
  6. 数组中a和a 的区别?
  7. JUC并发编程一 并发架构
  8. springboot: Spring Data JpaRepository
  9. 前端二十九:两个盒子居中的练习
  10. python三十四:json模块