java中的多态和继承,编译看左边,运行看右边
口诀:
成员变量,静态方法看左边(成员变量和静态方法编译和运行都看左边);非静态方法:编译看左边,运行看右边。
解释:
在多态中,向上转型和向下转型有很多的应用。
1: 类型提升,向上转型
Animal c = new Cat();
在编译时:参阅引用型变量所属类中是否有调用的方法。如果有。编译通过,没有编译失败
在运行时:参阅对象所属类中是否有调用方法。
简单一句话:成员函数在多态时,编译看左边,运行看右边。
2: 如果想要调用猫的特有方法,如何操作?
强制将父类的引用,转成子类类型。向下转型
Cat c = (Cat)a;
c.catchMouse();
3: 在多态中,调用子类函数,子类方法必须覆盖父类中的方法,如果调用子类特有的方法,就必须向下转型了。
这样非静态的方法可直接调用。
在多态中,成员变量的特点:
无论编译和运行,都参考左边(引用型变量所属的类,)
在多态中,静态成员函数的特点:
无论编译和运行,都参考做左边。
》》》博主长期更新学习心得,推荐点赞关注!!!
》》》若有错误之处,请在评论区留言,谢谢!!!