package com.suse.inject.constructor;
public class User {
private String username;
private int age;
private int money;
public User() {
super();
}
public User(String username, int age, int money) {
super();
this.username = username;
this.age = age;
this.money = money;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getMoney() {
return money;
}
public void setMoney(int money) {
this.money = money;
}
@Override
public String toString() {
return "User [username=" + username + ", age=" + age + ", money="
+ money + "]";
System.out.println("[username=" + username + ", age=" + age + ", money="
+ money + "]");
}
}
请问为什么自动生成的return语句在控制台没有任何输出,而使用System.out,println则能正常输出
答案:2 悬赏:0 手机版
解决时间 2021-02-07 19:48
- 提问者网友:兔牙战士
- 2021-02-07 04:00
最佳答案
- 五星知识达人网友:怀裏藏嬌
- 2021-02-07 04:19
return只是程序结束时,对上一层方法的一种反馈,当你调用toString方法,结束返回到调用它的方法的代码段继续执行,这个行为可以带着一个值,这个就是返回值。你可以这样System.out.println(new User().toString()); 这样就能输出return的字符串了。pringln方法参数是String,如果传入参数是一个非基本类型的对象,就会隐式地调用它的toString方法,所以new User()后面这个.toString()可以省略。
全部回答
- 1楼网友:三千妖杀
- 2021-02-07 04:54
您好 楼主 如果觉得有用的话 给个采纳吧
您先去看看系统的jdk用的是什么编码
然后
properties pro=system.getproperties();
system.out.println(pro.getproperty("file.encoding"));
如果不是需要的,则这样
pro.setproperty("file.encoding","utf-8");
在控制面板里面修改区域设定和字符集设定 然后重新启动下电脑就好啦 希望能帮到您
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯