求解,构造方法

huskyui 2016-09-22 05:57:15

public class Test {
String text;

public Test(String s){
text=s;
}

public static void main(String[] args) {

Test test=new Test("abc");
System.out.println(test);
}
}

输出Test@15db9742
我的理解中应该输出是 abc
求解
...全文
499 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
爱睡觉的阿狸 2016-09-23
  • 打赏
  • 举报
回复
System.out.print(X),其中X如果为对象,默认都会调用对象的toString方法,打印的就是toString方法返回的结果,而你这个类没有复写从Object那里继承来的toString方法,所以还是原来的那个方法也就是输出这个结果:getClass().getName() + '@' + Integer.toHexString(hashCode()) 所以你想输出你要的结果,那就复写下toString方法,也就是这样: public String toString(){ return this.text; }
a1846427859 2016-09-23
  • 打赏
  • 举报
回复
楼主好厉害,电脑可不会显示ABC,电脑就以撒比,什么都要自己告诉它要怎么显示。
Pink_Krystal 2016-09-23
  • 打赏
  • 举报
回复
肃穆丶 2016-09-23
  • 打赏
  • 举报
回复
输出的对象本身就是打印出对象地址@里面的内容..可以重写toString 方法
形形色色的人 2016-09-23
  • 打赏
  • 举报
回复
输出的对象本身就是打印出对象地址@里面的内容 你要的应该是sysout test.txt
  • 打赏
  • 举报
回复
逸花城 2016-09-23
  • 打赏
  • 举报
回复
你没覆写toString
Be_nurturing 2016-09-23
  • 打赏
  • 举报
回复
13楼说的好详细啊。
hxq2012jiayou 2016-09-22
  • 打赏
  • 举报
回复
直接输出对象会调用该对象的toString方法,此方法从object继承,默认输出类名加hashcode
纵骑横飞 2016-09-22
  • 打赏
  • 举报
回复
不吃无营养粉
背西风酒旗 2016-09-22
  • 打赏
  • 举报
回复
感觉楼主现在非常郁闷
soton_dolphin 2016-09-22
  • 打赏
  • 举报
回复
怎么拿分????
小灯光环 2016-09-22
  • 打赏
  • 举报
回复
构造方法里直接写System.out.println(s)~ 运行Test test=new Test("abc");就可以得到你要的结果
huskyui 2016-09-22
  • 打赏
  • 举报
回复
自己看错了,应该是test.text你们来拿分吧,我要揭帖

62,624

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧