javaAndroid 发表于 2014-10-14 13:45
结果打印的都是456
因为父类的func2被子类覆盖了。
调用b.fun1();的时候执行的是子类的func2,返回值为456
chenglove1201 发表于 2014-10-14 16:10
A a = b这行代码怎么理解,不太懂
英雄传说ER 发表于 2014-10-14 16:56
子类向上转型 把b(子类对象)提升到为A类(父类)
就像动物类里面有猫这个类 你new了一个新对像cat 但 ...
chenglove1201 发表于 2014-10-14 17:11
那他跟基本数据类型的互相转换是一样的吗
chenglove1201 发表于 2014-10-14 16:10
A a = b这行代码怎么理解,不太懂
英雄传说ER 发表于 2014-10-14 17:18
可以这样理解 向上转型无所谓 但是向下转型的时候一定要注意 最开始建立的时候就是父类对象
例如 FU f = ...
javaAndroid 发表于 2014-10-14 22:24
A a = b这句就是说
本来内存中已经存在b,b的名字存放在栈内存
实体存在堆内存,b存放的是在堆内存的地址
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |