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中表现出来就是调用同名方法但执行不同操作
程序中体现:
父类或者接口的引用指向或者接收自己的子类对象。
好处和作用:
多态的存在提高了程序的扩展性和后期可维护性
前提:
需要存在继承或者实现关系
要有覆盖操作
多态的特点
成员函数:
编译时:要查看引用变量所属的类中是否有所调用的成员。
在运行时:要查看对象所属的类中是否有所调用的成员。
成员变量:
只看引用变量所属的类。
方法重载
重载实现多态性
通过定义类中的多个同名的方法来实现。编译时是根据参数(个数、类型、顺序)的不同来区分不同方法的。
重载发生在同一个类中,所以在调用方法时根据参数的不同调用相应的方法
//只有一个参数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培训期待与您交流!
----------
相关文章推荐
- 【学习笔记】Thinking in java (第三版)第七章 多态性(Polymorphism)
- java基础学习:常用的ant的操作
- Java2核心技术第七版的学习笔记(三) Fundamental Programming Structures in Java(Java语言的基础)(二)
- JAVA学习心得--基础知识
- Java学习备忘录(二)基础语法和数组(原创)
- Java2核心技术第七版的学习笔记(三) Fundamental Programming Structures in Java(Java语言的基础)(四):
- 回复:学习java必须有c++基础么?
- java学习笔记,关于java的一些基础知识,适用于初学者,第一节
- Java2核心技术第七版的学习笔记(三) Fundamental Programming Structures in Java(Java语言的基础)(一)
- Java IO学习基础之读写文本文件
- Java IO学习基础之读写文本文件
- 安全的基础----学习java安全之前的准备
- 安全的基础----学习java安全之前的准备
- Java基础-学习Java的30个基本概念
- Java基础学习1
- java线程学习基础
- java基础学习感悟【转】
- Java基础学习
- Java2核心技术第七版的学习笔记(三) Fundamental Programming Structures in Java(Java语言的基础)(三)
- java基础学习---java对象序列化基础知识