Java学习之多态的内存分配

多态的弊端就是不能访问子类的特有功能,但如果我们想要去访问子类特有的功能该怎么办呢?
1、创建子类对象调用方法(可行,但是太占内存不合理);
实例:
Java学习之多态的内存分配_第1张图片

2、把父类的引用强制转换为子类的引用。(向下转型)
对象间的转型:
向上转型:父类引用指向子类对象(从子到父)
Fu f=new Zi();
向下转型:父类引用转向子类对象(从父到子)
Zi z=new Zi();//要求该f必须是能转换为Zi
实例:
Java学习之多态的内存分配_第2张图片
多态成员访问及转型的理解
转载传智播客孔子教学案例:
Java学习之多态的内存分配_第3张图片
内存分析:
向上转型:父类引用指向子类对象(从子到父)
Java学习之多态的内存分配_第4张图片
向下转型:父类引用转向子类对象(从父到子)
Java学习之多态的内存分配_第5张图片

你可能感兴趣的:(java)