Java基础学习——Java多态性,
分享于 点击 6620 次 点评:3
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类的方法
当子类产生的对象指定成父类类型时,该对象称为上转型对象
相关文章
- 暂无相关文章
用户点评