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

Java基础学习——Java多态性

2014-09-28 08:31 106 查看
多态的定义:

多态性是指某一类事物的多种存在形态。在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类的方法

当子类产生的对象指定成父类类型时,该对象称为上转型对象



-                                                            ------ android培训java培训IOS培训.Net培训期待与您交流!
----------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java