1 / 52
文档名称:

采购部门人员设置.ppt

格式:ppt   大小:3,258KB   页数:52
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

采购部门人员设置.ppt

上传人:mkjafow 2018/5/2 文件大小:3.18 MB

下载得到文件列表

采购部门人员设置.ppt

文档介绍

文档介绍:Java中的多态和类型转换
Java中的多态
多态的进一步理解,多态可以理解为两个方面:
(1) 父类型的引用可以指向子类型的实例或对象,
(2) 接口类型的引用可以指向实现该接口的类的实例或对象(instance)。
由此来看,以后一提到多态,应该马上映射到向上转型。
接口就是一种特殊的抽象类,关键字interface,实现用implements。例如:结合数组定义:
interface Interface1 implements Bb
{
}
Interface1[] = new Interface1[]{Bb(),Bb()};//数组
对象的多态一般就是两种形态:父类形态与本类形态。
子类的对象就在这两种形态之间相互转换。
(1)向上转型是把子类对象转成父类形态,限制子类的特有方法;
(2)向下转型是把子类对象从父类形态转成本类形态(向下转型的前提是先进行向上转型)。
Parent p = new Child();(1)当使用多态的方式调用方法时,首先检查父类中是否有此方法,如果没有,则会出现编译出错,如果有则可编译通过,包括子类和父类都有此方法,子类的把父类的覆盖,调用的是子类中的此方法,如果子类中不存在此方法,直接调用父类的方法。因此编译时要看父类中是否存在此方法,调用时具体要看所指向对象的中的方法,先看子类方法的重写,若没有再调用从父类继承下来的方法。此规律仅限于成员方法。(2)*****对于成员变量,则只看引用所属类中是否有此变量,调用的也是父类中的变量值,与子类中的变量没有一点儿关系。
类类型的引用可以指向本类及其子类的对象;接口类型的引用可以用于指向实现接口的子类的对象。这就是多态的体现。
这样让父类引用或接口引用作为形参,就可以接收很多子类的对象,拓展性比较强。
多态:某一类事物的多种存在形态。
在java中多态的体现在:
(1) 父类的引用可以指向本类及其子类的对象;
(2)接口的引用可以指向实现此接口的类的对象。
多态的好处:可以提高代码的复用性,提高代码的扩展性,前期定义的代码可以使用后期的内容。
多态的弊端(局限性):前期定义的内容不能使用(调用)后期子类的特有内容。
使用多态的前提:必须有关系:继承或者实现;要有覆盖(未经向下类型转换时,只能调用父类或者接口中有的,且被覆盖的方法)。
父类型的引用可以指向其子类的对象,子类有很多,在父类引用接收子类对象后,如何进行判断并向下转型呢?利用instanceof 进行判断,此关键词用于判断对象的具体类型,只可以用于引用数据类型的判断,如果父类引用指向子类对象,则父类引用instanceof 子类名如person Instanceof Student,返回true或者false。instanceof通常情况下在向下转型前用于健壮性的判断。
例如:public static void specialMethod(Person p) {
if(p instanceof Student) {
Student s = (Student)p;
();
}
else if(p instanceof Worker) {
((Worker)p).work();
}
}
引入对象的多态后,对成员特点的分析:(十分重要)
注意:重载和重写(覆盖)都是指的是方法的重载和重写,特别是当说覆盖时,指的也只是方法,成员变量没有覆盖这么一说,因为子类和父类中有重名的变量时,子类在实例化时会把这两个变量都进行封装,用特定的标号加以区分。
成员变量:编译时,查看引用类型所属类中是否拥有需要访问的变量,若有则编译通过,否则编译不通过。
编译和执行(调用)都是看引用(左边)。
此时只关注引用类型所属类中是否有此变量,所指向的对象所属类有与没有此变量都无所谓。若都有,利用父类型引用调用的是父类型中的变量值。
对于成员变量,存在多态时,无论是编译还是执行调用,看的都是父类型引用所在的类,调用的变量也只是父类中的变量,父类中没有则编译不通过,子类中
有与没有此变量都无关紧要。因为成员变量没有覆盖这个概念之说,覆盖指的只是方法。
实例:class Animal{
int num = 6;//如果没有这句,则编译出错
}
class Dog extends Animal{
int num = 4;//这句话有或者没有,输出都是6,因为多态时,对于成员变量,只关注父类的成员变量,子类的不关心。
}
public class PolymorphismTest2 {
public static void main(String[] args) {
Animal animal

最近更新

2024年玉龙县幼儿园教师招教考试备考题库带答.. 31页

2024年甘谷县招教考试备考题库含答案解析(夺.. 31页

2024年砀山县幼儿园教师招教考试备考题库带答.. 30页

2024年福建技术师范学院马克思主义基本原理概.. 12页

2024年繁峙县幼儿园教师招教考试备考题库及答.. 30页

2024年苍梧县招教考试备考题库及答案解析(必.. 31页

2024年莘县招教考试备考题库带答案解析(夺冠.. 30页

2024年融水苗族自治县招教考试备考题库附答案.. 31页

2024年西吉县招教考试备考题库及答案解析(必.. 31页

2024年西藏农牧学院马克思主义基本原理概论期.. 12页

2024年贵州电力职业技术学院马克思主义基本原.. 12页

2024年赵县幼儿园教师招教考试备考题库及答案.. 30页

2024年辽源职业技术学院马克思主义基本原理概.. 12页

2024年郑州工业应用技术学院马克思主义基本原.. 12页

2024年重庆三峡职业学院马克思主义基本原理概.. 13页

2024年重庆财经职业学院马克思主义基本原理概.. 13页

2024年锦州医科大学马克思主义基本原理概论期.. 12页

2024年闽西职业技术学院马克思主义基本原理概.. 12页

2024年陆河县幼儿园教师招教考试备考题库带答.. 31页

2024年隆林各族自治县幼儿园教师招教考试备考.. 31页

2024年青海省(13所)马克思主义基本原理概论.. 12页

2024年香港城市大学(东莞)马克思主义基本原.. 13页

2024年麟游县招教考试备考题库带答案解析 31页

2024年黑龙江省政法管理干部学院马克思主义基.. 12页

2025年七台河职业学院单招职业适应性测试题库.. 44页

2025年三门峡职业技术学院马克思主义基本原理.. 12页

网络资源分配近似模型 35页

2025年上海科技大学马克思主义基本原理概论期.. 12页

高密度能量存储材料 36页

2025年中央美术学院马克思主义基本原理概论期.. 13页