提问:实例化对象 和 直接定义类(比如String) 的区别在哪里

提问:实例化对象 和 直接定义类(比如String) 的区别在哪里

类比到 其他类 的话,比如我现在有一个Test的非static类

我发现不管是先实例化对象再调用: Test test = new Test();

还是 public Test test ;5

都是可以进行调用的,那么这两种方式的区别是在哪里呢?还有具体用法是什么?

望解答,谢谢!

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,private Subject studentSubject;是定义在Student类中的一个属性,在有参构造中传入一个Subject类的对象初始化。Subject studentSubject1 = new Subject()是定义一个Subject类的对象,通常是用在测试类中用来实例化Subject类的。用法不同,Subject studentSubject1 = new Subject();在测试类中定义了一个Subject类对象。在使用有参构造实例化Student对象时,传入一个Subject对象,这时就可以将前面定义的Subject类对象作为参数传入Student中。建议下次在相应的小节下进行提问。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快!

提问者 weixin_慕瓜503788 2019-01-03 15:02:30

http://img1.sycdn.imooc.com//climg/5c2db34c0001f4bb05710051.jpg

补图,这是在Student类中进行的。

Student类和Subject类都不包含主函数。

好帮手慕阿满 2019-01-03 13:52:48

不是很明白同学的意思。实例化对象,比如同学自己定义了一个Student类,在测试类中定义一个Student对象,就可以调用Student类中的方法,直接定义类是指什么?定义String类对象吗?String类是Java提供的一个类,所以可以直接定义。建议同学将问题描述的更清晰些。必要时可以使用代码和截图。祝:学习愉快~

  • 提问者 weixin_慕瓜503788 #1
    这是我昨天上课的时候遇到的问题,老师在对学生和专业进行关联时,在已有学生类和专业类的情况下,直接使用 private Subject studentSubject; 在学生类中调用专业类(Subject)中的getter/setter属性,但之前上课讲的 Subject studentSubject1 = new Subject(); 这种实例对象也是可以的,我想问的是,在实操中,这两者的差别究竟是什么,为什么老师在调用时并不用实例化对象这种方法? 回复好像不能发图,只能这么说了,十分抱歉。还希望能进一步给我解答,谢谢。
    2019-01-03 15:00:27
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师