Java Object类中toString方法的重写

Object类中的tostring方法的:

当我们输出一个对象时,实际是输出的是这个类中的tostring方法,是一个地址值,而不是类中的属性。

一:子类没有重写Object类中的toStrinng方法时的输出

public class ToStringUse {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		A1 a1=new A1(12,"chentao");
		System.out.println(a1.toString());//此时子类A1没有对根父类Object类中的toString没有进行重写
	}
	class A1{
	int age;
	String name;
	A1(int age,String name){
	this.age=age;
	this.name=name;
	}
}
	
}

输出结果

polymorphism.A1@28a418fc //输出的是对象的地址值,而非属性

二:在子类中重写toString方法,使得输出类中的属性

public class ToStringUse {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		A1 a1=new A1(12,"chentao");
		System.out.println(a1.toString());//此时的A1类中已经重写了Objiect类中的toString方法
	}
class A1{
	int age;
	String name;
	A1(int age,String name){
	this.age=age;
	this.name=name;
	}

@Override//方法的重写
	public String toString() {
		return "A1[name="+name+","+"age="+age+"]";
	}
	}}

输出结果:

12 chentao  //输出的是类中的属性

关键点注意:

  • 在Java语法机制内,String类已经对Object类中的toString方法进行过重写,使得输出类中的属性。
  • Date类,也重写了toString方法,使得输出值为类中的属性
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值