在Java中一直对toString方法没有全面的认识,很模糊,求大神用一个例子全面的讲解一下
发布网友
发布时间:2022-11-04 22:25
我来回答
共1个回答
热心网友
时间:2023-10-25 05:32
1、toString,“返回该对象的字符串表示”转化成字符串,就是这样。
2、java有一个统一的父类 Object,Object中有toString方法 ,那么其他任何类中都可以直接调用这个方法来实现对象到字符串的转化。
3、定义一个People类,有几个属性,有一个自定义的tostring方法
public class People {
private int id;
private String name;
private String address;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public People(int id, String name, String address) {
super();
this.id = id;
this.name = name;
this.address = address;
}
public People() {
super();
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "People [id=" + id + ", name=" + name + ", address=" + address
+ "]";
}
定义一个Student类继承People类
public class Student extends People {
private String major;
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public Student(String major) {
super();
this.major = major;
}
当在主方法中调用时会得到这样的结果
student类中并没有tostring方法,而他继承的父类People中有,因此就执行了。输出的是People类里面的东西。
那么,大家都有一个默认的继承Object,而自己又没有重写tostring方法,那么自己去调用的时候就默认执行了object里面的tostring。转化成字符串,就是这样。