java;toString()方法

一、简介

——toString()方法在object类中,也就是说被所有的类继承,所有的类都有一个默认的toString()方法。 ——方法的作用是将对象的内容转换为字符串 ——方法的定义如下:
public String toString(){
         return getClass().getName() + '@' + 
         Integer.toHexString(hashcode());
 }

返回的是:类名@java对象的内存地址,
内存地址是经过哈希算法得出的int类型值再转换成十六进制;
下面两行代码是等价的:

  //Exampleclass是我们创建的类的对象引用
System.out.println(Exampleclass);
System.out.println(Exampleclass.toSting());

输出结果:
Exampleclass@372a1a
Exampleclass@372a1a

二、重写toString()方法

——概述:
在现实的开发过程中,Object中的toString方法返回的结果很多时候不能满足我们的需求,比如我们要格式化输出某些类对象的结果或一些特殊的转换功能时,默认的toString()方法就不能使用了,所有我们要重写toString()方法。

——重写注意事项
①必须被声明为public
②返回类型为String
③方法的名称必须是toString,且没有参数
④在方法体中不要使用System.out.println()方法

——代码演示:

 class Chapter_02_Son {
	 
	 //学生信息类
	 String name;
	 int ID;
	 int classId;
	 //重写构造方法,初始化类成员变量
	 Chapter_02_Son(){
		 this("", 0, 0);
	 }
	 Chapter_02_Son(String name, int ID,int classId ){
		 this.name = name;
		 this.ID = ID;
		 this.classId = classId;
	 }
	 //重写toString(),格式化输出学生信息	 
	public String toString() {
	   return "name: " + name + 
			   " ID: " + new DecimalFormat("00000").format(ID) +
			   " classId: " + new DecimalFormat("00").format(classId) ;
			    
	}
public static void main(String[] args) {
	
	 Chapter_02_Son student1;
	 student1 = new  Chapter_02_Son("zhangsan", 20212, 5);
	 //比较打印类对象引用的两种方式
	 System.out.println(student1);
	 System.out.println(student1.toString());
}

输出结果:
name: zhangsan ID: 20212 classId: 05
name: zhangsan ID: 20212 classId: 05
输出结果告诉我们几点:
①student1和student.toString()表达式的值是一样的
②我们给classId的值是5,输出时是05,说明按照我们重写的toString()的格式输出了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值