鱼金金~ 2021-10-10 22:09 采纳率: 89.2%
浏览 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日

悬赏问题

  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。