java类的输出

java类中成员变量输出总是输出collection_and_map.Teacher@7852e922

构建类后使用javabean书写类,调用时发现添加的变量输出不了总是输出类似于地址的东西。

在这里插入图片描述
原因在于:
1.toString()方法是Object类里的方法,所有类都继承自Object,因此所有类都拥有toString()方法。

2.默认的toString()方法输出一个对象时的格式:

Object 类的 toString 方法返回一个字符串,该字符串由:包名.类名@此对象哈希码的无符号十六进制表示组成。想要返回添加的结果必须重写toString()方法。

学生类:

class Student{
	private String sid;
	private String sname;
	public void setSid(String sid) {
		this.sid=sid;
	}
	public String getSid() {
		return this.sid;
	}
	
	public void setSname(String sname) {
		this.sname=sname;
	}
	public String getSname() {
		return this.sname;
	}
	
	public void Student() {
		
	}
	public Student(String sid,String sname) {
		this.setSid(sid);
		this.setSname(sname);
	}
	
}

测试类:

public class ClassChapter {
	public static void main(String[] args) {

		Student s1=new Student("s001","小明");
		Student s2=new Student("s002","小张");
		Student s3=new Student("s003","小王");
		
		System.out.println(s1+"\n"+s2+"\n"+s3);
		
	}

}

输出结果:
在这里插入图片描述
重写toString()方法的Student类:

class Student{
	private String sid;
	private String sname;
	
	public String toString() {             //注意当是String类型是一定要重写tostring方法不然输出collection_and_map.Teacher@7852e922
		return sid+" "+sname;
	}	
	
	public void setSid(String sid) {
		this.sid=sid;
	}
	public String getSid() {
		return this.sid;
	}
	
	public void setSname(String sname) {
		this.sname=sname;
	}
	public String getSname() {
		return this.sname;
	}
	
	public void Student() {
		
	}
	public Student(String sid,String sname) {
		this.setSid(sid);
		this.setSname(sname);
	}
	
}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xvwen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值