多态包括方法的重载和对象的多态。有助于分组协同开发
1 方法的动态绑定:编译器会主动把子类的方法绑定到父类之中
多态:父类的引用使用子类的方法
2 方法的重写:父类的方法在子类中重新声明
满足的条件:方法的名称相同 参数列表相同 返回列表兼容
子类覆盖父类的方法,方法的修饰符只能扩大不能缩小
为了满足向下兼容,继承在原有基础上扩展修改不能破坏,否则就破坏了继承的含义.继承实现代码的重用
private方法或成员变量没办法覆盖
子类方法不能比父类方法抛出更多的异常
main方法抛出异常抛给java虚拟机
重写是多态的前提,没有重写就没有多态。
通过super调用原来的方法。
this自己的构造函数相互访问。super调用父类的构造函数
为什么子类不能比父类抛出更多的异常?采用多态的方式调用
子类在覆盖父类方法的时候,父类的引用是可以调用该方法的,如果父类的引用调用子类的方法,那么这个多抛出来的异常,就可能处于一种无法被处理的状态。
3 成员变量的隐藏:
父类的变量在子类中重新声明,父类的成员变量就会被子类的成员变量隐藏。
父类的引用只能调用父类的成员变量。不能调用子类的成员变量。
因为成员变量的初始化在创建引用的时候就已经初始化。无论new谁的对象,都没有关系,只能调用父类的成员变量。
private无法继承
4 父类的引用可以指向子类的对象,也可以指向父类的对象
子类的引用不能指向父类的对象
5 引用的类型转换:必须具有继承关系
子类对象引用强制接受父类的对象,编译通过,运行不通过
父类对象引用强制接受子类的对象,编译运行都通过(泛型 向上转型 向上塑形)
6 father a=new son();
(son)a.成员变量出错((son)a).成员变量
java多态
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...