您的位置:首页 > 编程语言 > Java开发

#4JAVA面向对象-多态#

2015-12-17 01:17 274 查看
学习目标:多态概念 重写重载 子父类转换

博主理解:方法的多态,重写重载,对象的多态性, 子父类的转换

需要注意的是重载重写都是执行子类执行父类的方法同样的方法,和子父类的转换,减少代码复用提高效率而设计的。

话题;

1.重载和重写的区别?

一张图就概括了一切相关的理论问题



2.重载 (在同一个类中)

/*这就是基本的重载*/
public void tell(int i ){
}
public void tell(String i ){
}


满足: 方法名字相同,

类型参数.个数不同的方法定义要求;

目的: 实现方法的不同功能 注意: 和返回值毫无关系

重写 (继承关系中)

class A{
public  void tell(){
System.out.println("父类的方法");
}
}
class B extends A{
public void tell(){
super.tell();//1.super(超级代表的是父类的方法)
System.out.println("子类重写的方法");
}
}


满足: 方法名字,类型参数,个数完全相同的要求

目的: [代码的复用,也就是多态的含义])

注意: 和返回值毫无关系>

有重写是由于继承而引用的,那么这自然就是为了设计的需要了。在实际的项目过程中,要经常运用到多态的特性(可参考设计模式),重写就必不可少了。

转型:转型并不是赋值而是类型彻底的改变

向上转型:父类对象=子类实例,
向下转型:子类对象=(子类)父类实例


注意:先上后下 ,如果发生重写 父类执行的依然是子类的方法

如图:向上转型中 父类Text1.t2() 执行的子类重写方法

向下转型中 子类Text2.t2() 执行的是父类调用的方法



总结:多态概念是编程思想的重要部愤怒 重写,重载多为实用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: