为了账号安全,请及时绑定邮箱和手机立即绑定

关于toString的一些问题

当一个类实例化的时候,不是只会执行构造方法里面的代码吗

为什么也会执行toString方法


正在回答

2 回答

toString可以输出对象的属性,而如果一个类没有构造方法,有默认构造方法,或者构造方法没有输入对象的属性,是不会输出对象的属性

比如:

public class Dog{

private int age;

public Dog(int age){

this.age=age;}

public static void main(String args[]){

Dog d=new Dog(10);

System.out.println(d);//没有toString方法,不能输出d的属性age,只能输出对象d的地址

}}

0 回复 有任何疑惑可以回复我~
#1

阿楠呐 提问者

public class Dog{ private int age; public Dog(int age){ this.age=age;} public static void main(String args[]){ Dog d=new Dog(10); System.out.println(d);//没有toString方法,不能输出d的属性age,只能输出对象d的地址 } //在这里输入toString方法,是不是就能输出d的age的属性 }
2018-07-29 回复 有任何疑惑可以回复我~
#2

妮妮慕莱坞3017812 回复 阿楠呐 提问者

嗯,只要tostring返回值有age属性就有,但要对象调用,其实输出私有变量的方法不只有这个,还可以用get方法,这只是讲tostring的用法。。
2018-07-29 回复 有任何疑惑可以回复我~
#3

阿楠呐 提问者

非常感谢!
2018-07-29 回复 有任何疑惑可以回复我~
#4

插网线

Dog d=new Dog(10);这里的10是什么意思,为什么我去编译会报错
2018-08-24 回复 有任何疑惑可以回复我~
查看1条回复

Dog d=new Dog(10);这里的10是什么意思,为什么我去编译会报错

0 回复 有任何疑惑可以回复我~
#1

阿楠呐 提问者

可能因为你没有 带参的构造方法
2018-08-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530099    人
  • 解答问题       6086    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

关于toString的一些问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信