问个疑惑的问题 public class Wq{ public static void main(String[] args) { Wq wq=new Wq(); System.out.println(wq); } /*public String toString() { return "haha"; }*/}输出的Wq@192d342是什么东西?加入注释内的语句为什么会输出haha呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主【javastudyq】截止到2008-07-09 15:16:02的历史汇总数据(不包括此帖):发帖的总数量:2 发帖的总分数:150 每贴平均分数:75 回帖的总数量:0 得分贴总数量:0 回帖的得分率:0% 结贴的总数量:2 结贴的总分数:150 无满意结贴数:0 无满意结贴分:0 未结的帖子数:0 未结的总分数:0 结贴的百分比:100.00% 结分的百分比:100.00% 无满意结贴率:0.00 % 无满意结分率:0.00 % 敬礼! 你打印一个对象 就会调用他的toString()方法 调用的是Object类的toString()方法不带注释的打印出的应该是内存地址(这里我也叫不太准)你注释里重写了toString方法 所以打印haha 去Object类里面看看toString方法是如何实现的. 恩,就是就是,理论上是这样的,当你用System.out.println()输出东西的时候,它会自动调用传入参数的toString()方法,所以,如果你覆盖了传入参数的toString()方法,那就按照覆盖的来toString(),也就会输出haha,相反,如果你没有覆盖当前传入的参数的toString()方法,那就是默认的toString()方法,也就是在Object类中定义的toString()方法,它返回的是该类的字符串表达形式,等同于getClass().getName() + '@' + Integer.toHexString(hashCode())这个式子出来的值,说白了就是类名加内存地址,后面的数以16进制输出来的,差不多就这样,多看API吧,有用啊,嘿嘿················· 他会默认调用toString方法,这个方法你没有覆盖的话就输出内存地址 Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于: getClass().getName() + '@' + Integer.toHexString(hashCode()) 返回: 该对象的字符串表示形式。而下面的注释代码就是重写了toString()方法· 3楼说的有道理重写了toString方法 所以打印haha JAVAC总是报错 小弟刚入门,请教一个小小问题! 请推荐中文的JSP 和 Servlet 由浅入深的书 Linux下JAVA调用可执行程序的问题 急!!!在线等!高人指点下! 高分求解几个问题。非常急!!! 在苹果机上运行的问题 请问一下为什么不显示 请问JBuild的swing中的JTree怎样添加节点? 当两个类库有同名类时...... Hibernate配置问题`! 简单问题
楼主【javastudyq】截止到2008-07-09 15:16:02的历史汇总数据(不包括此帖):
发帖的总数量:2 发帖的总分数:150 每贴平均分数:75
回帖的总数量:0 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:2 结贴的总分数:150
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
返回:
该对象的字符串表示形式。而下面的注释代码就是重写了toString()方法·
重写了toString方法 所以打印haha