toString()方法是Object類的方法,調用toString()會返回對象的描述信息。

1)為什么重寫toString()方法呢?

如果不重寫,直接調用Object類的toString()方法,打印的是該對象的內存地址(類名@哈希碼值)。如下代碼所示:

classPerson {

String name;

String sex;intage;publicPerson() {}public Person(String name, String sex, intage) {this.name =name;this.sex =sex;this.age =age;

}

}classDemo {public static voidmain(String[] args) {

Person p= newPerson();

System.out.println(p);

}

}

運行結果:Person@10dea4e

從上面代碼可知,調用p的toString方法,打印出來的信息是類名+內存地址值。不符合要求。根據我們之前學的繼承,假如父類的指定的功能能不能滿足要求,那么子類可以復寫父類的功能函數,那么該對象再調用toString()方法時,則會調用子類復寫的toString方法。

(2)一般什么時候重寫toString方法?

一般在編寫代碼,POJO類必須重寫toString方法。如果繼承了另一個POJO類,注意在前面加一下super.toString。

POJO(Plain Ordinary Java Object)即普通的java類,具有一部分getter/setter方法的那種類就可以稱作為POJO類。重寫toString()方法后,在方法執行跑出異常時,可以直接調用POJO的toString()方法打印其屬性值,便於排查問題。

(3)如何重寫toString()?

toString()方法重寫代碼樣例如下:

classPerson {

String name;

String sex;intage;publicPerson() {

}public Person(String name, String sex, intage) {this.name =name;this.sex =sex;this.age =age;

}

@OverridepublicString toString() {return "Person [name=" + name + ", sex=" + sex + ", age=" + age + "]";

}

}

編程習慣:開發者要對自定義的類重寫toString(),對對象做詳細的說明。

java tostring 库_java重寫toString()方法相关推荐

  1. i10在java中什么意思啊,java题库_JAVA题库的题 求答案啊!!!!!!!!!!!!!!!!_淘题吧...

    ⑴ JAVA题库的题 求答案啊!!!!!!!!!!!!!!!! 1.有点没太明白意思,是要求2个数相加的和吗? 导入Java.util.扫描仪: 公共类应用程序1 /** * @param参数 */ ...

  2. java 二分查找_Java数组之Arrays方法

    Java数组之Arrays方法,拉勾IT课小编为大家分析,JAVA数组的一些方法,提升开发水平,增强技术开发水平,不断提升个人的技术能力,在对于java开发领域,很多人都从基础做起. 1. 数组的工具 ...

  3. java compareto 中文_java中的compareto方法的详细介绍

    一.java中的compareto方法 1.返回参与比较的前后两个字符串的asc码的差值,如果两个字符串首字母不同,则该方法返回首字母的asc码的差值 String a1 = "a" ...

  4. java getmethod类_Java Class类 getMethod()方法及示例

    Class类getMethod()方法getMethod()方法在java.lang包中可用. getMethod()方法用于返回Method对象,这些对象指示该类的给定公共方法或由此Class对象表 ...

  5. java newinstance 包_Java Class类 newInstance()方法及示例

    Class类newInstance()方法newInstance()方法在java.lang包中可用. newInstance()方法用于创建此Class对象表示的类的新实例. newInstance ...

  6. java集合示例_Java集合的addAll()方法和示例

    集合类addAll()方法addAll()方法在java.lang包中可用. addAll()方法用于将所有给定元素(ele)放入给定集合(co). addAll()方法是一个静态方法,可以使用类名进 ...

  7. java parsefloat 误差_Java Float类parseFloat()方法与示例

    Float类parseFloat()方法parseFloat()方法在java.lang包中可用. parseFloat()方法用于返回与给定String表示形式相对应的float值,换句话说,我们可 ...

  8. java支持库(_Java运行环境支持库下载-Java Runtime Environment(JRE) v9.1.8官方64位版-ucbug下载站...

    JRE为Java Runtime Environment的简称,运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库.Java Runtime Environment(包括Java ...

  9. java字体库_java使用第三方字体库的方法,使用第三方ttf/ttc等字体库的方法

    java 文件中加一个loadfont的内部类: class Loadfont { public static Font loadFont(String fontFileName, float fon ...

最新文章

  1. Ubuntu 将 /home 或 /var 目录挂载到新的分区
  2. Android 修改Progressbar 旋转速度
  3. python编程在哪里写-Python自带的IDE在哪里
  4. TYVJ P1069 cowtour 看不懂题意
  5. php如何编写通信协议,定制通讯协议
  6. IOC容器特性注入第五篇:查找(Attribute)特性注入
  7. 多线程之操作CopyOnWriteArrayList解决Iterator迭代器产生java.util.ConcurrentModificationException
  8. 【教程】怎样把高德打车优惠券的cps链接添加到微信公众号里面
  9. 如何用笔记本破解无线网络密码?破解无线网络密码的教程
  10. (SWAT-2)SWAT中土地利用数据库建立
  11. 【VMware】NAT模式、桥接模式、仅主机模式
  12. Codevs 5208 求乘方取模
  13. 今年的WWDC,真的很难说
  14. bzoj3939 [Usaco2015 Feb]Cow Hopscotch
  15. 论文笔记:NAOMI: Non-Autoregressive MultiresolutionSequence Imputation
  16. mysql assertion_Mysql异常崩溃,提示 Failing assertion: extern_len = part_len
  17. Java基于ssm的超市多商家系自提系统
  18. 2021年如何低成本开启创业?
  19. html点击链接直接加微信群,微信给文字加链接代码分享(原来微信超链接是这样加的)...
  20. EVT/DVT/PVT/MP代表什么阶段

热门文章

  1. machine learning for hacker记录(4) 智能邮箱(排序学习推荐系统)
  2. 45个极具冲击力的WordPress摄影网站模板
  3. DotNET内存管理与垃圾回收[转]
  4. 由表单中onsubmit=return false;想到的
  5. 算法五——字符串匹配(中)
  6. [Letcode]第[34]题[JAVA][在排序数组中查找元素的第一个和最后一个位置][暴力][二分]
  7. svn不知道这样的主机 怎么解决_家里装修不知道怎么配置净水器,这几招教你轻松解决...
  8. 弟子规python编程游戏_《Python游戏趣味编程》 第11章 消灭星星
  9. c语言赋值运算符左边必须是,C语言运算符入门讲解
  10. url去除掉一个参数php,php怎样去掉url中的参数_后端开发