我们平时写java的时候,System.out.println()方法可谓是用的比较频繁的,要在控制台输出什么,都可以用这个方法输出,比如System.out.println(“HelloWorld”);就会输出HelloWorld,但当传递的参数为对象时,它将输出什么?
public class User {
private int userId;
private String userName;
private String sex;
private int age;
public User() {
}
public User(int userId, String userName, String sex, int age) {
super();
this.userId = userId;
this.userName = userName;
this.sex = sex;
this.age = age;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public class Test_toStrig {
public static void main(String[] args) {
User user = new User();
user.setUserId(1001);
user.setUserName("Alice");
user.setSex("女");
user.setAge(18);
System.out.println("id:" + user.getUserId());
System.out.println("name:" + user.getUserName());
System.out.println("sex:" + user.getSex());
System.out.println("age:" + user.getAge());
System.out.println(user);
}
}
输出结果:
id:1001
name:Alice
sex:女
age:18
cn.goktech.test.User@15db9742
user的输出结果变成了地址,但我们想要的不是这个值,这时候就需要重写一下toString()方法了
package cn.goktech.test;
public class User {
private int userId;
private String userName;
private String sex;
private int age;
public User() {
}
public User(int userId, String userName, String sex, int age) {
super();
this.userId = userId;
this.userName = userName;
this.sex = sex;
this.age = age;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "id:" + userId + ", name:" + userName + ", sex:" + sex + ", age:" + age;
}
}
当重写toString()方法后,结果:
name:Alice
sex:女
age:18
id:1001, name:Alice, sex:女, age:18