java多态内存分析。java多态是重要的知识点,我们一定要清楚的,而java多态内存分析相对会比较难,在这里给大家提供了多态的内存分析图实例,希望可以给您带来帮助!
定义动物类animal.java作为父类。
package cn.bjsxt.oop.polymorphism;
public class Animal {
String str;
public void voice(){
System.out.println(“普通动物叫声!”);
}
}
class Cat extends Animal {//猫继承了动物animal类
public void voice(){
System.out.println(“喵喵喵”);
}
public void catchMouse(){//子类有自己的方法,在父类没有这个方法,在多态时不能运行该方法,因为父类没有编译该方法。
System.out.println(“抓老鼠”);
}
}
}
多态测试类实例test.java:
package cn.bjsxt.oop.polymorphism;
public class Test {
public static void testAnimalVoice(Animal c){//传入的是animal类,包含了猫狗猪。
c.voice();
if(c instanceof Cat){//判断c是否为cat对象
((Cat) c).catchMouse();
}
}
public static void main(String[] args) {
Animal a = new Cat();
Cat a2 = (Cat)a;
testAnimalVoice(a);
}