黑马程序员技术交流社区

标题: 关于对象的引用-疑惑 [打印本页]

作者: 熊攀    时间: 2013-3-28 18:41
标题: 关于对象的引用-疑惑
class Driver
{  
   String name;
   int color;
   Car car;                                          1
}  
public class person
{  public static void main(String [] args)
   {   Driver driver=new Driver();                   2
       driver.car=new Car();                           3
       s.o.p(driver.car.name);
   }
}


---------------------------------------------------
我想问下,3这里, "driver.car "   这里  driver.car是给这个Driver类的对象的car赋值,这里面的car是对象drvier的属性, 我就是闹不明白了, driver.car=new car(); 这句话为什么可以成立,  第一,我理解 driver.car 就是对象里面的car的值; 第二,就算, car=new car();  也只是类里面属性car才能实例创造对象,我觉得对象driver里面的car 并不可以这样写吧, 好吧,不知道写的大家看的懂不,精简就是 diver.car=new car();  不懂这个是什么意思.
前者是个值,后者是new对象。
坐等楼下解答.
作者: HM王琦    时间: 2013-3-28 18:52
貌似在你的代码里,这句话是不成立的,因为没有Carl类不存在,不能直接创建对象。
提供一下代码予以参考
  1. class Driver
  2. {
  3. String name;
  4. int color;
  5. Car car;
  6. }
  7. class person
  8. { public static void main(String [] args)
  9. { Driver driver=new Driver();
  10. driver.car=new Car();
  11. System.out.println(driver.car.name);
  12. }
  13. }
  14. class Car extends Driver
  15. {
  16. Car()
  17. {
  18. super();
  19. }
  20. }
复制代码

作者: 熊攀    时间: 2013-3-28 18:57
这个案例题目是, java入门1.2.3- 一个老鸟你的java学习心得-149页-第6章-类与对象

作者并没有提到继承这个问题,,

我只是很好奇一个问题,关键位置 这个drvier.car=new car()  这里
作者: 蔡陶军    时间: 2013-3-28 19:02
HM王琦 发表于 2013-3-28 18:52
貌似在你的代码里,这句话是不成立的,因为没有Carl类不存在,不能直接创建对象。
提供一下代码予以参考 ...

不对吧  你父类Car car这时候子类都还没有继承你就直接调用
作者: 熊攀    时间: 2013-3-28 19:03
仔细看了2楼的问题, 确实前面一页确实有个car类
public class car()
{  int speed=30;
   String name="无名汽车";
}
作者: HM张勇    时间: 2013-3-28 20:33
看了你写的代码,由于不全,无法判断。建议你把代码不全,并且注意大小写。

第一个疑问:Car类是否继承Driver类。如果Car不是继承Driver的话,那你Driver类中Car car;是什么意思?
还有,你定义了一个car类,这个大小写是你故意这样设计的,还是误写了?

第二个疑问:如果你Car继承Driver类,那你是想问多态:即父类引用指向子类对象,还是引用构造函数。

请你把代码不全,这样才能弄明白。
作者: 黄玉昆    时间: 2013-3-28 21:33
楼主啊,不要在18届交流区发这个贴后,再来19期发帖啊,你看19期这么多热情的人,就不要重复发在18期了,谢谢
作者: 熊攀    时间: 2013-3-28 21:59
黄玉昆 发表于 2013-3-28 21:33
楼主啊,不要在18届交流区发这个贴后,再来19期发帖啊,你看19期这么多热情的人,就不要重复发在18期了,谢 ...

我在19届先发的 帖子,,等了好久,,,只有1位同学回答,,所以只好去18届了,, 不好意思,,我马上封贴
作者: 黄玉昆    时间: 2013-3-28 22:15
熊攀 发表于 2013-3-28 21:59
我在19届先发的 帖子,,等了好久,,,只有1位同学回答,,所以只好去18届了,, 不好意思,,我马上封贴 ...

嗯,没关系的,以后在19这里发吧,大家都会热情解答的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2