鱼金金~ 2021-10-10 22:09 采纳率: 96.8%
浏览 30
已结题

关于Java通过方法对学生和专业的关联问题。(代码有限,我直接点明问题)

我学习的过程发现了一个问题,就是下图它用了一个已经实例化的对象(类)来做成员属性的类型。(蓝色线那里)

img


我不明白它居然不报错,但是它的原理又是怎么样的了,下面的操作就让人更加不明白了

img


它居然用Subject对象(类名)来做get方法的类型,然后在方法体里写了一个判断语句,后面它居然实例化
了一个,但是具体值我不明白从那里来的(听说涉及数据库的知识,我还没学)
接下来的就是测试类和构造方法的了,下面的问题我有些懂,但是怕理解错所以在这里留言一下让各位看一看有没有错。

img


上图复制了一对构造方法,但是有一个最后是对专业赋值的。
如下就是测试类,对应的代码就在stu1里,它对象后面的构造函数最后有一个sub1的对象地址。

img


这个就是对应的方法(无参的),通过上图测试类里传入的sub1的地址,它去那里了?有一个无参构造方法,但是它里面没有方法体,它又怎么进行赋值调用的呢,看get方法也看不明白,因为一开始有一个用对象(类)做成员变量的问题,所以我才看不太懂全部的东西。

img

  • 写回答

1条回答 默认 最新

  • Pliosauroidea 2021-10-10 22:11
    关注

    就是说这个函数的返回值是一个Student对象,如果自己这个属性为空,则新建一个对象,然后让自己的对应属性指向这个对象
    你在外面可以用Stu a=new Stu();把一个Stu对象赋值给a,在其他类里面自然也可以做同样的操作

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月11日
  • 已采纳回答 10月11日
  • 创建了问题 10月10日

悬赏问题

  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 定制ai直播实时换脸软件
  • ¥100 栈回溯相关,模块加载后KiExceptionDispatch无法正常回溯了
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含
  • ¥15 麒麟V10桌面版SP1如何配置bonding
  • ¥15 Marscode IDE 如何预览新建的 HTML 文件
  • ¥15 K8S部署二进制集群过程中calico一直报错
  • ¥15 java python或者任何一种编程语言复刻一个网页
  • ¥20 如何通过代码传输视频到亚马逊平台
  • ¥15 php查询mysql数据库并显示至下拉列表中