日期:2014-05-20  浏览次数:20916 次

JAVA关于toString 求高手讲解
public String toString(){
return "User[userId:"+userId+" userName:"+userName+" userPwd:"+userPwd+" sex:"+sex+" email:"+email+"]";
}



这是一个toString的重写,求解释这个是toString的一种什么功能

------解决方案--------------------
都说了是重写了还要什么功能?它重写了Object 的toString 也就是说你调此对象的toString方法 将会反加你重写的那个
------解决方案--------------------
引用:
public String toString(){
return "User[userId:"+userId+" userName:"+userName+" userPwd:"+userPwd+" sex:"+sex+" email:"+email+"]";
}



这是一个toString的重写,求解释这个是toString的一种什么功能

比如你有一个对象User user = new User(),如果你System.out.println(user);会打印一个内存地址,很不好看。如果实现toString,就会按照你的那个格式打印:User[userId:123 userName:Tom userPwd:123456 sex:male email:tom@163.com]

LZ写个样例看看吧
------解决方案--------------------
Object 类中的toString()源码:

    public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }



当重写toString后 ,就调用重写之后的方法。
------解决方案--------------------
重写就是将Object类中的toString()方法的打印效果在当前类中进行了重新描述,可以按照自己的所需要的输出格式打印,当重写后,再调用toString()方法时,调用的就是你重写之后的toString()方法,输出的格式也是按照你所希望的格式进行输出!根据你问问题的话术,我可以判断你应该是个初学者吧,没关系,多多练习!