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);
}
}
结果:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/156343.html