全世界最开心的开心果 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日

悬赏问题

  • ¥15 单纯型python实现编译报错
  • ¥15 c++2013读写oracle
  • ¥15 c++ gmssl sm2验签demo
  • ¥15 关于模的完全剩余系(关键词-数学方法)
  • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音