全世界最开心的开心果 2022-05-07 12:08 采纳率: 100%
浏览 33
已结题

Java中public和void方法的问题

img

img

这俩段代码就是方法不一样,代码的结果就很不一样,这是为什么?两个方法不都是将两个weight赋值吗??哪里出了问题?

  • 写回答

3条回答 默认 最新

  • weixin_42120514 2022-05-07 15:17
    关注

    跟类名一样的没有返回类型(void也不需要)的是构造函数,类对象初始化的时候就会被调用(new的时候),构造函数也会有多个,new的时候传入对应的参数就调用对应的构造函数,直接new没有参数就使用无参构造函数;
    定义类的时候,没有写构造函数,就是有一个默认的无参构造函数;定义了有参构造函数,无参构造函数就也需要定义,否则不能用无参构造函数;
    像你代码中的第二个,只要new Tom(); weight = 18就执行了

    其他方法都是要new了之后调用的,比如
    Tom tom= new Tom(); tom.Tom();
    或者new Tom().Tom();
    weight=18才会执行

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月17日
  • 已采纳回答 6月9日
  • 创建了问题 5月7日