永发信息网

java中输出当前对象的语句 好像System.out.println(this.toString())输出的只是对象类型和地址,

答案:5  悬赏:50  手机版
解决时间 2021-03-25 01:46
  • 提问者网友:做自己de王妃
  • 2021-03-24 06:01
java中输出当前对象的语句 好像System.out.println(this.toString())输出的只是对象类型和地址,
最佳答案
  • 五星知识达人网友:洎扰庸人
  • 2021-03-24 07:07
不需要这样写System.out.println(this.toString())
只需要System.out.println(this) 它会自动调用this对象的toString方法
你必须在类里重写toString方法(因为所有类都有一个原始祖先Object类,Object的toString方法是输出的地址) 然后把你想要输入的期望结果在toString方法里写明
说白了 你就把toString当做一个普通的方法 这个方法在你System.out.println(this)的时候自动调用

你修改了toString和直接用没区别啊? 你改的toString方法还是返回的this对象啊?
你想要的结果到底是什么呢? 一般来说你类里会定义一些属性
不如一个学生类
class Student{
private int id;
private String name;
......
public String toString(){
return "学号:"+id+"姓名:"+name;//这里就返回他的学号和姓名 你直接返回this没有任何意义 只是一个地址
}
}追问你好,我只是想看一下当前对象是什么,可是它输出的却是当前对象的地址啊,怎样输出当前对象,而不是它的地址。谢谢追答不能获得当前对象的名称,也没任何意义 只可能获得当前对象对应的类 用this.getClass()
全部回答
  • 1楼网友:思契十里
  • 2021-03-24 10:37
那是默认的toString, 你要重写toString方法
  • 2楼网友:雾月
  • 2021-03-24 10:11
楼上说的对啊,只要在本类中重写toString方法,这个方法返回的值就是你期望输出的了
  • 3楼网友:轻雾山林
  • 2021-03-24 08:50
有实例吗?你期望输出什么样的对象?
  • 4楼网友:低血压的长颈鹿
  • 2021-03-24 08:09
覆盖tostring()方法,
public String toString(){
return null }; 注意:null是你要打印的对象追问class Apple{
public String toString(){
return this;
}
Apple getPeeled(){
this.toString();
}
。。。。。。。。。
}
这样重写了好像还是不可以啊,他它说类型不匹配,我就把string换成了apple类型,可是还是错的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯