对象能不能赋值给对象?结果是怎么样的?

对象能不能赋值给对象?结果是怎么样的?

http://img1.sycdn.imooc.com//climg/5b0b9ba700017fc204930253.jpghttp://img1.sycdn.imooc.com//climg/5b0b9bbe0001b13302730049.jpghttp://img1.sycdn.imooc.com//climg/5b0b9bdc00016a8305710105.jpg这个是课件的,可能有点乱,我把这段翻译成 stu1.setStudentSubject(sub1); 于是我觉得是一个对象赋值给另一个对象。但是我自己创建测试的时候,却报错。

正在回答

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

2回答

你写的位置不对呀。

public class NonMotor {
String str="abc";
str="aa";
}
你试试,这样都会出错

你得把执行的语法放在方法中。类中可以定义,也可以做初始化String str="abc";但str="aa";就不行了。ele=a; 也是同样的道理,你把它放在方法中就可以了。

  • 广州麻辣牛杂档 提问者 #1
    受益匪浅! 谢谢! 对啦,为什么这样是不行的呢? 是跟内存有关系吗?还是说语法就这样规定呢? 能否写在静态方法里呢?能否写在main方法呢 ?
    2018-05-28 15:57:04
  • 广州麻辣牛杂档 提问者 #2
    public void a(){ Student s=new Student(); Subject d=new Subject(); s=d; }帮我看下这段,在测试类里写的
    2018-05-28 16:19:06
  • 两个类型不一致,一个是Student,一个是 Subject,那肯定是不能“=”赋值。你看代码中“his.studentSubject = studentSubject;”起码=左右两边类型一致,都为Subject,这样才行。
    2018-05-28 17:09:46
好帮手慕雪 2018-05-28 14:23:34

1)”一个对象赋值给另一个对象“没问题的。你是说this.studentSubject = studentSubject;吧?就跟普通的类型一样,相互赋值也是可以的。2)但你说的报错,请完整截图,以便排查错误(包括报错信息)。祝:学习愉快

  • 提问者 广州麻辣牛杂档 #1
    哥,帮我看看 public class NonMotor { private String brand, color; private int wheel, seat; ElectricVehicle ele = new ElectricVehicle(); NonMotor a = new NonMotor(); ele=a; }
    2018-05-28 15:05:00
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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