关于toString()的问题

来源:4-8 学生选课—课程删除

for__what

2017-03-08 20:52

User类的代码:

public class User {

private String name;

private String sex;

private int age;

private String address;

public User(String name,String sex,int age,String address){

this.name=name;

this.sex=sex;

this.age=age;

this.address=address;

}

public String toString(){

return name+"\t"+sex+"\t"+age+"\t"+address;

}

main方法:

public static void main(String[] args) {

// TODO 自动生成的方法存根

List<User> users=new ArrayList<User>();

User user1=new User("小王","男",18,"南京市");

User user2=new User("小李","男",21,"盐城市");

User user3=new User("小红","女",24,"上海市");

users.add(user1);

users.add(user2);

users.add(user3);

for(int i=0;i<users.size();i++){

System.out.println(users.get(i));

}

}


userList.get(i)获得的是User对象,为什么最后把User类的属性内容都打印了

这里是怎么调用toString()方法的

写回答 关注

2回答

  • 猪丶猪侠
    2017-03-08 23:03:22
    已采纳

    public String toString(){

    return name+"\t"+sex+"\t"+age+"\t"+address;

    }

    这里是重写了toSrting()方法,你可以试着把这代码注释掉,那打印出来的就是User对象的地址,当你用上这代码时,打印出的就是重写toString()方法里的内容。

    猪丶猪侠 回复for__w...

    是的~~

    2017-03-09 20:59:07

    共 2 条回复 >

  • Galeno_Lu
    2017-03-09 00:07:32

    这里需要重写toString方法,

    public String toString(){

    return (name+sex+age+address);

    }

    调用toString()方法获取的是该方法里面的内容。

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题