`
roway
  • 浏览: 51610 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

第十五:多态

 
阅读更多

一.

当使用多态时,引用所要调用的方法必须存在于父类中。

二.

关于多态:

1.父类的引用可以指向子类的实例
2.接口类型的引用可以指向实现该接口的类的实例

三.

多态是运行期行为,采用的是晚绑定(late binding)

//多态是运行期行为,采用的是晚绑定(late binding)
public class PoliTest {
	public ParentDemo generate() {
		Random random = new Random();
		int number = random.nextInt(3);// 生成随机数
		switch (number) {
		case 0:
			return new Child1Demo();// 因为这直接return了,可以不用breack.
		case 1:
			return new Child2Demo();
		case 2:
			return new Child3Demo();
		}
		return null;
	}

	public static void main(String[] args) {
		PoliTest pt = new PoliTest();
		ParentDemo p = pt.generate();
		p.doSomething();
	}
}

class ParentDemo {
	public void doSomething() {
		System.out.println("ParentDemo");
	}
}

class Child1Demo extends ParentDemo {
	public void doSomething() {
		System.out.println("Child1Demo");
	}
}

class Child2Demo extends ParentDemo {
	public void doSomething() {
		System.out.println("Child2Demo");
	}
}

class Child3Demo extends ParentDemo {
	public void doSomething() {
		System.out.println("Child3Demo");
	}
}


四.

Java通过方法重写来实现多态(类中方法的重载...也可以认为是方法的多态)


分享到:
评论

相关推荐

    JAVA-微讲堂01环境变量-陈冬

    讲:陈冬 第一课:计算机中的环境变量 ...第五课:多态 第六课:接口 第七课:封装 第七课:集合 第八课:泛型 第九课:XML 第十课:多线程 第十一课:socket 第十二课:jdbc 第十三课:设计模式

    IOS开发入门经经典

    第15章:多态,动态类型和动态绑定 第16章:类的初始化 第17章:分类和协议 第18章:Foundation框架简介 第19章:数字 第20章:字符串 第21章:数组 第21章:真机调试和发布程序 第22章:字典 第24章:文件操作 第25...

    C#电子教案

    第15讲:域和属性 第16讲:Page对象 第17讲:Response对象 第18讲:Request对象 第19讲:Application对象 第20讲:Session对象 第21讲:Server对象 第22讲:Cookie对象 第23讲:Cache对象 第24讲:异常处理 第25讲:...

    Java语言程序设计ppt第十一章(继承和多态)

    Java语言程序设计ppt第十一章(继承和多态) 本章节主要讲解Java语言中的继承和多态机制,包括继承的定义、继承的应用、多态性和动态绑定等知识点。 一、继承的定义 继承是一种机制,允许一个类继承另一个类的...

    Html-Mmorpg

    第15集:多态与继承。 第16集:面向对象的编程(2)。 第17集:绘制图像和处理文件。 第18集:调整图像和地图的大小。 第19集:Maps and Bullets Collision。 第20集:敌人AI。 第21集:新的敌人类型和暂停选项。 ...

    UML2.0实战教程.pdf

    **第十一节:习题** 为了加深对面向对象的理解,本节提供了一系列习题供读者练习。 #### 第二章:UML入门 **第一节:UML的发展历史** - **起源**:UML(Unified Modeling Language,统一建模语言)是由Grady ...

    JAVA基础第章继承与多态练习题.docx

    在给定的代码中,`Demo` 类没有定义任何构造器,所以第 15 行会出错,答案是 D。 总结: 这些题目涵盖了 Java 中的一些基础概念,包括包管理、访问权限、类继承、构造器、方法覆盖、静态方法的使用以及类的初始化。...

    基于QT平台的手持媒体播放器项目实战

    第十五讲:PMP媒体播放器项目实战3:音乐切换 第十六讲:PMP媒体播放器项目实战4:添加和删除播放列表 第十七讲:PMP媒体播放器项目实战5:音量控制和播放方式 第十八讲:系统移植1:系统移植概述及UBoot...

    Java第十五届蓝桥杯大赛软件JavaB组真题

    【Java第十五届蓝桥杯大赛软件JavaB组真题】是针对Java编程技术的一场专业竞赛,旨在考察参赛者对Java语言的理解、应用及问题解决能力。蓝桥杯大赛作为国内知名的IT技能竞赛,其试题往往涵盖了Java的基础语法、面向...

    13.java学习第十三章——方法覆盖和多态.pdf

    ### Java学习第十三章——方法覆盖和多态 #### 一、方法覆盖(重写 —— Override) **1.1 回顾方法重载** 在Java中,**方法重载**(Overloading)指的是在一个类中定义多个同名方法,但这些方法的参数列表必须有所...

    Java语言程序设计基础课后复习题答案第十三章

    答:Java 中有两种类型的多态:编译时多态和运行时多态。 四、Java 中的接口 4.1 何为接口?答:接口是 Java 中的一种抽象类型,用于描述一组类共有的方法和常量,接口中的所有方法都是抽象的。 4.2 接口和抽象类...

    C++知识点总结(知识框架)

    第十一章:STL(Standard Template Library) STL是C++标准库的一部分,包含容器(如vector、list、map等)、迭代器、算法(如排序、查找)和函数对象等组件,极大地提高了代码的复用性和效率。 第十二章:文件操作...

    JAVA基础第4章继承与多态-练习题.docx

    第15行`Demo d = new Demo("Good");`会导致错误,因为`Demo`类没有提供接受字符串参数的构造器,而直接调用了父类的无参构造器。这将导致编译错误,提示找不到匹配的构造器。 10. **访问控制修饰符**:Java的访问...

    JAVA基础第4章继承与多态-练习题 (2).docx

    10. 第十个题目中,Example类有一个带参数的构造器,而Demo类没有显式调用超类构造器。因此,当创建Demo对象时,会使用Example类的无参构造器,导致错误。答案是D,第15行。 11. 访问控制修饰符包括public、...

    优质Java基础入门系列课程PPT课件 天津大学Java程序设计教程(第6版) 09 多态(共39页).ppt

    1-15 **排序与搜索**: 在Java中,排序通常涉及到数组或集合的元素排列。例如,可以使用各种排序算法如冒泡排序、插入排序、选择排序、快速排序、归并排序等。这些算法效率不同,实际应用中会根据数据规模和特定需求...

Global site tag (gtag.js) - Google Analytics