java变量的类型转换前后 10
一直对这个类型间的转换比较迷糊,你说studenta,personb那ab都是引用,保存的不都是内存地址嘛,有什么不同的,还有那个向上转型,转型前后那个引用变量到底有什么...
一直对这个类型间的转换比较迷糊,你说student a, person b那ab都是引用,保存的不都是内存地址嘛,有什么不同的,还有那个向上转型,转型前后那个引用变量到底有什么深层次的变化,知道的最好能具体的讲下,谢谢!或者能给点相关方面的链接也可以
展开
3个回答
展开全部
上型转换是对于子类来说的,就比如student是继承自person的子类,则可以使用b=a来对b赋值,如此使用b就可以引用a指向的对象了。
上型转化有以下特点:
1,上型对象不能操作子类新增的成员变量和方法。就是说student继承与person,然后student又在person的基础上新增加了函数后变量,那student转换到person后就用不了这些新增的函数。
2,上型转换对象使用的函数,是按照原子类对象来调用的,意思就是虽然student上型转换成了person,但是它指向的对象实质还是一个student对象,只是有部分person范围之外的变量或函数被过屏蔽了,但并没有被过滤到,被屏蔽的实际上还在,留下来可以和person兼容的部分,所以在上型转换后,如调用一个被student重写的person中的方法,则还是调用student中重写的那个
http://apps.hi.baidu.com/share/detail/31681406
上型转化有以下特点:
1,上型对象不能操作子类新增的成员变量和方法。就是说student继承与person,然后student又在person的基础上新增加了函数后变量,那student转换到person后就用不了这些新增的函数。
2,上型转换对象使用的函数,是按照原子类对象来调用的,意思就是虽然student上型转换成了person,但是它指向的对象实质还是一个student对象,只是有部分person范围之外的变量或函数被过屏蔽了,但并没有被过滤到,被屏蔽的实际上还在,留下来可以和person兼容的部分,所以在上型转换后,如调用一个被student重写的person中的方法,则还是调用student中重写的那个
http://apps.hi.baidu.com/share/detail/31681406
展开全部
类型不同 保存的类型的引用 也就是地址自然不同啊
转型前是student的内存地址 person转型了 就是persion的内存地址了 楼下说的很详细。这玩意很好理解。
转型前是student的内存地址 person转型了 就是persion的内存地址了 楼下说的很详细。这玩意很好理解。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1,上型对象不能操作子类新增的成员变量和方法。就是说student继承与person,然后student又在person的基础上新增加了函数后变量,那student转换到person后就用不了这些新增的函数。
2,上型转换对象使用的函数,是按照原子类对象来调用的,意思就是虽然student上型转换成了person,但是它指向的对象实质还是一个student对象,只是有部分person范围之外的变量或函数被过屏蔽了,但并没有被过滤到,被屏蔽的实际上还在,留下来可以和person兼容的部分,所以在上型转换后,如调用一个被student重写的person中的方法,则还是调用student中重写的那个
2,上型转换对象使用的函数,是按照原子类对象来调用的,意思就是虽然student上型转换成了person,但是它指向的对象实质还是一个student对象,只是有部分person范围之外的变量或函数被过屏蔽了,但并没有被过滤到,被屏蔽的实际上还在,留下来可以和person兼容的部分,所以在上型转换后,如调用一个被student重写的person中的方法,则还是调用student中重写的那个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询