黑马程序员技术交流社区

标题: 向上引用会丢失信息吗? [打印本页]

作者: weity    时间: 2014-8-13 09:01
标题: 向上引用会丢失信息吗?
有下面一段代码:

  1. ArrayList al = new ArrayList();
  2. al.add("java01");
  3. Iterater it = al.iterater();
  4. Object obj=it.next();
复制代码

obj并不完全等于"java01",
但是打印的时候,还是可以输出"java01"
但是应该有其他信息丢失了吧。,
作者: 马嘉    时间: 2014-8-13 09:21
不是,obj就是一个对象,相当于next()得到的这个值得载体,为什么用object呢,就是能够接受所有对象

如果是对对象进行向上转型,变成Opject,那么他的特有功能就不能使用了,必须在做向下转型的动作
作者: 陶圣虎    时间: 2014-8-13 10:56
向下转,前面要加String
作者: 申航航    时间: 2014-8-13 12:02
没丢什么信息吧,只有过是向上转型了而已,父类的引用还是指向子类的对象实体啊
作者: nadax    时间: 2014-8-13 12:20
你使用迭代器进行访问,我的理解是 ArrayList开辟好内存空间后,使用迭代器来访问具体的内存空间,向上引用也是指向的这个内存空间,只要这个内存空间的值没有发生变动,是不会出现丢失的。 不知道理解正确否,如有错误请指正。
作者: ﹑淼    时间: 2014-8-13 12:30
不会,这就是个多态。
作者: 董帅军    时间: 2014-8-13 17:30
不是,我感觉就是他特有的一些功能就不能用了啊




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