java_toString方法_重写

1、Object类

在JDk中提供一个Object类,它是所有类的父类,即每个类都直接或间接的继承自该类。
任何类中,都可以直接使用Object类中定义的方法

2、toString

toString是Object类中的一个方法
toString方法 打印的是包名+ 类名 @ hashCode(地址十六进制)
其实就是getClass().getName()+"@"+Integer.toHexString(hashCode())
1)getClass().getName()代表返回对象所属类的包名.类名,即pers.day02.Anima。
2)@对应@;
3)Integer.toHexString(hashCode())代表将对象的哈希值用16进制表示,其中hashCode()代表返回该对象的哈希值。

3、重写 toString

在实际开发中,通常希望toString()方法返回的不只是基本信息,所以Object的toString()方法通常会被重写

public class Person {

		private String name;
		private String idCard;
		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		public String getIdCard() {
			return idCard;
		}
		public void setIdCard(String idCard) {
			this.idCard = idCard;
		}
		
		
		public Person() {
		}
		public Person(String name, String idCard) {
			this.name = name;
			this.idCard = idCard;
		}
		
//	方法重写,重写父类(Object(默认的父类))的 toString方法
		 public String toString() {
			 String classInfo = super.toString();
			 /*调用父类的toString方法
			  * toString方法 打印的是包名+ 类名 @ hashCode(地址十六进制)
			  * */
			 return "Person[name : " + name + ",idCard:" + idCard + "]" +"\n"+ classInfo;
//			 "\n"(换行)
		 }
		
		
		public static void main(String[] args) {
			Person p1 = new Person("章北海",	"311709000910");
			System.out.println(p1.getName() +"\n"+ p1.getIdCard());
			// 当我们直接输出一个对象 就相当于调用此对象的toString方法 打印的是包名+ 类名 @ hashCode 十六进制
			System.out.println(p1);
			System.out.println("===========================");
			System.out.println(p1.toString());
		}

}

结果:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值