Java基础学习——Java多态性

多态的定义:
多态性是指某一类事物的多种存在形态。在JAVA中表现出来就是调用同名方法但执行不同操作
程序中体现:
父类或者接口的引用指向或者接收自己的子类对象。
好处和作用:
多态的存在提高了程序的扩展性和后期可维护性
前提:
需要存在继承或者实现关系
要有覆盖操作

多态的特点
成员函数:
编译时:要查看引用变量所属的类中是否有所调用的成员。
在运行时:要查看对象所属的类中是否有所调用的成员。
成员变量:
只看引用变量所属的类。

方法重载
重载实现多态性
通过定义类中的多个同名的方法来实现。编译时是根据参数(个数、类型、顺序)的不同来区分不同方法的。
重载发生在同一个类中,所以在调用方法时根据参数的不同调用相应的方法

//只有一个参数String skill
public void showSkill(String skill){
System.out.println(this.name+”表演”+skill);
}
//playSkill方法的重载,包含多个参数
public void showSkill(String horse,String skill){

System.out.println(this.name+”骑着”+horse+”表演”+skill);
}
方法重写
父类和子类中具有相同名称和类型的方法,但方法体不同
Emploree类的liveMethod方法
public void liveMethod(){

    System.out.println(“通过工作谋生");
}
Actor类的liveMethod方法
public void liveMethod(){

    System.out.println(“通过演出谋生");
}

方法重写的调用
重写的实质是子类对父类方法的重新定义,父类和子类具有同名的方法,在调用重写的方法时,根据产生对象的类调用相应类的方法
其调用形式为:
父类  父类对象  =  new 父类(参数);
子类  子类对象  =  new 子类(参数);
父类对象. 方法();  //调用父类的方法
子类对象. 方法();  //调用子类的方法

上转型对象
因为在继承关系中,子类是父类的一种,子类对象也可以是父类类型,如虎类继承自动物类,虎类的一个对象:一条体格健壮的东北虎。那么这条东北虎的类型是虎类,当然也属于动物类
调用重写的方法时,只看是由哪个类产生的对象,系统会自动调用产生对象的类的方法。
   actor2.liveMethod();//调用Actor类的方法
当子类产生的对象指定成父类类型时,该对象称为上转型对象

方法重写的特点.PNG

-                                                            ------  android培训 java培训 IOS培训 .Net培训 期待与您交流! ----------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值