萌新求助,代码如下,为什么输出的是空白

创建的父类截图
子类截图
按照想象中,应该输出“我19岁,我是成年人”,可输出的结果却是空白
...全文
696 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰思雨 2021-02-26
  • 打赏
  • 举报
回复
想要控制台输出信息,要调用 System.out.println(); 这个方法才行。 楼主的代码里面,函数调用只是返回了字符串,也就是你想要输出的信息,但是,缺少让这个信息输出到控制台的操作。 调用 System.out.println(“message”); 可以将 message 输出到控制台,同理,参数可以是任意字符串,包括你要输出的字符串都可以作为参数。
zhouciming 2021-02-25
  • 打赏
  • 举报
回复
居然还有人这么认真的回答了, 果然还是这里好
  • 打赏
  • 举报
回复
把你的的getAge方法的返回值viod换成String
wdubaiyu 2021-02-25
  • 打赏
  • 举报
回复
你下面又new了个新的对象啊??没有装19岁
qq_1113502097 2021-02-19
  • 打赏
  • 举报
回复
java是面向对象编程,每用一个new 就是重新创建一个对象。所以正确的写法应该是
Human human=new Human()
, 然后调用Human下面各种方法,比如human.tostring。 代码里面有一些规范化问题。比如get方法不是用来获取值的,应该被用来赋值。

public class Human{
private int age;
public int getAge(){
return age;
}
public void setAge(int age){
this.age=age
}

//如果希望new的时候就给Age赋值,那么应当重新构造方法

public Human(int age){
this.age=age
}


}
还有,控制台输出应该调用System.out.println方法。System.out.println(new Human(19).toString)
你才是秃头 2021-02-19
  • 打赏
  • 举报
回复
引用 7 楼 迈.罗斯特 的回复:
[quote=引用 6 楼 HuangHe201691的回复:]肯定不行的吧,因为new创建的是两个不同的对象,而不是一个对象。
new对象是没问题的,关键在tostring的返回,需要print方法去输出[/quote] 层主的意思你没懂 ..你是new了两个对象 打个比方 你生了两个孩子 你给第一个汉子起名叫 "19" .然后你问第二个孩子叫啥名字 ..第二个孩子没报错给你看就不错了
qq_39936465 2021-02-18
  • 打赏
  • 举报
回复
引用 7 楼 迈.罗斯特 的回复:
[quote=引用 6 楼 HuangHe201691的回复:]肯定不行的吧,因为new创建的是两个不同的对象,而不是一个对象。
new对象是没问题的,关键在tostring的返回,需要print方法去输出[/quote] 你好好看基础,直接new是一次性的,所以你写的程序有根本的逻辑错误。
引用 5 楼 天行归来的回复:
[quote=引用 4 楼 迈.罗斯特 的回复:][quote=引用 2 楼 天行归来 的回复:]想在控制台输出,要 System.out.println(new Human().getAge(19).toString()); 另外,语言编码规范,set是设置值,get是获取值。
还是不行的[/quote] 不好意思,getAge 方法并未返回对象,所以这么做不行,可以把 getAge 类型改成 Human,或者创建对象赋值给某个变量,然后toString。 方法1: public Human getAge(int age) { this.age = age; return this; } 调用 System.out.println(new HUman().getAge(19).toString()); 方法2: getAge方法类型不变,保持void,调用 Human human = new Human(); human.getAge(19); System.out.println(human.toString()); [/quote] 对的,对的,我发现这个问题了,谢谢大佬
引用 6 楼 HuangHe201691的回复:
肯定不行的吧,因为new创建的是两个不同的对象,而不是一个对象。
new对象是没问题的,关键在tostring的返回,需要print方法去输出
HuangHe201691 2021-02-16
  • 打赏
  • 举报
回复
肯定不行的吧,因为new创建的是两个不同的对象,而不是一个对象。
天行归来 2021-02-16
  • 打赏
  • 举报
回复
引用 4 楼 迈.罗斯特 的回复:
[quote=引用 2 楼 天行归来 的回复:]想在控制台输出,要 System.out.println(new Human().getAge(19).toString()); 另外,语言编码规范,set是设置值,get是获取值。
还是不行的[/quote] 不好意思,getAge 方法并未返回对象,所以这么做不行,可以把 getAge 类型改成 Human,或者创建对象赋值给某个变量,然后toString。 方法1: public Human getAge(int age) { this.age = age; return this; } 调用 System.out.println(new HUman().getAge(19).toString()); 方法2: getAge方法类型不变,保持void,调用 Human human = new Human(); human.getAge(19); System.out.println(human.toString());
引用 2 楼 天行归来 的回复:
想在控制台输出,要 System.out.println(new Human().getAge(19).toString()); 另外,语言编码规范,set是设置值,get是获取值。
还是不行的
引用 2 楼 天行归来的回复:
想在控制台输出,要 System.out.println(new Human().getAge(19).toString()); 另外,语言编码规范,set是设置值,get是获取值。
还是有点不太明白,父类get方法中已经修改了age的值,然后tostring方法不是应该应用这个值,然后输出? 不过我先试试你这个方法吧,非常感谢
天行归来 2021-02-16
  • 打赏
  • 举报
回复
想在控制台输出,要 System.out.println(new Human().getAge(19).toString()); 另外,语言编码规范,set是设置值,get是获取值。
坐等解惑哟 ~~~

62,634

社区成员

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

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