如果一个object类里的成员有 String str; float a; int b; 如果声明 object obj; String tostr; 调用 tostr=obj.toString() 那么tostr的值是不是等于object类中str的值呢?为什么?
专业回答
Object是所有对象类的父类,而toString方法只有可以转换为字符串的类型对象才可以实现转换的,否则转换后还是一个对象(也就是说读取的内容是非正常的);
如:
“aaa”是一个String类型的对象,“aaa”.toString();结果还是“aaa”;
User是一个用户的对象,如果User.toString();结果是不正常的,因为User对象中可能有多个属性,如年龄,姓名等,这个toString后无法知道具体的是那个属性转换为字符串,所以就不会正常显示。
备注:所有的java开发都是有一定原则的,不是说不报错就一切运行ok,要根据实际情况进行类型转换。
如:
“aaa”是一个String类型的对象,“aaa”.toString();结果还是“aaa”;
User是一个用户的对象,如果User.toString();结果是不正常的,因为User对象中可能有多个属性,如年龄,姓名等,这个toString后无法知道具体的是那个属性转换为字符串,所以就不会正常显示。
备注:所有的java开发都是有一定原则的,不是说不报错就一切运行ok,要根据实际情况进行类型转换。
2009-04-10 16:12
提问者采纳
你先看一下Object类中的toString()方法源码: public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); } 假如你的类复写了Object类(此类为Java根基类)中的toString()方法 列: public String toString(){ return "Hello"; //这里才是你要返回的值 如果没复写 则调用Object类中的toString()方法(打印类的全限命名+内存地址) }