一.
当使用多态时,引用所要调用的方法必须存在于父类中。
二.
关于多态:
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通过方法重写来实现多态(类中方法的重载...也可以认为是方法的多态)
分享到:
相关推荐
讲:陈冬 第一课:计算机中的环境变量 ...第五课:多态 第六课:接口 第七课:封装 第七课:集合 第八课:泛型 第九课:XML 第十课:多线程 第十一课:socket 第十二课:jdbc 第十三课:设计模式
第15章:多态,动态类型和动态绑定 第16章:类的初始化 第17章:分类和协议 第18章:Foundation框架简介 第19章:数字 第20章:字符串 第21章:数组 第21章:真机调试和发布程序 第22章:字典 第24章:文件操作 第25...
第15讲:域和属性 第16讲:Page对象 第17讲:Response对象 第18讲:Request对象 第19讲:Application对象 第20讲:Session对象 第21讲:Server对象 第22讲:Cookie对象 第23讲:Cache对象 第24讲:异常处理 第25讲:...
Java语言程序设计ppt第十一章(继承和多态) 本章节主要讲解Java语言中的继承和多态机制,包括继承的定义、继承的应用、多态性和动态绑定等知识点。 一、继承的定义 继承是一种机制,允许一个类继承另一个类的...
第15集:多态与继承。 第16集:面向对象的编程(2)。 第17集:绘制图像和处理文件。 第18集:调整图像和地图的大小。 第19集:Maps and Bullets Collision。 第20集:敌人AI。 第21集:新的敌人类型和暂停选项。 ...
**第十一节:习题** 为了加深对面向对象的理解,本节提供了一系列习题供读者练习。 #### 第二章:UML入门 **第一节:UML的发展历史** - **起源**:UML(Unified Modeling Language,统一建模语言)是由Grady ...
在给定的代码中,`Demo` 类没有定义任何构造器,所以第 15 行会出错,答案是 D。 总结: 这些题目涵盖了 Java 中的一些基础概念,包括包管理、访问权限、类继承、构造器、方法覆盖、静态方法的使用以及类的初始化。...
第十五讲:PMP媒体播放器项目实战3:音乐切换 第十六讲:PMP媒体播放器项目实战4:添加和删除播放列表 第十七讲:PMP媒体播放器项目实战5:音量控制和播放方式 第十八讲:系统移植1:系统移植概述及UBoot...
【Java第十五届蓝桥杯大赛软件JavaB组真题】是针对Java编程技术的一场专业竞赛,旨在考察参赛者对Java语言的理解、应用及问题解决能力。蓝桥杯大赛作为国内知名的IT技能竞赛,其试题往往涵盖了Java的基础语法、面向...
### Java学习第十三章——方法覆盖和多态 #### 一、方法覆盖(重写 —— Override) **1.1 回顾方法重载** 在Java中,**方法重载**(Overloading)指的是在一个类中定义多个同名方法,但这些方法的参数列表必须有所...
答:Java 中有两种类型的多态:编译时多态和运行时多态。 四、Java 中的接口 4.1 何为接口?答:接口是 Java 中的一种抽象类型,用于描述一组类共有的方法和常量,接口中的所有方法都是抽象的。 4.2 接口和抽象类...
第十一章:STL(Standard Template Library) STL是C++标准库的一部分,包含容器(如vector、list、map等)、迭代器、算法(如排序、查找)和函数对象等组件,极大地提高了代码的复用性和效率。 第十二章:文件操作...
第15行`Demo d = new Demo("Good");`会导致错误,因为`Demo`类没有提供接受字符串参数的构造器,而直接调用了父类的无参构造器。这将导致编译错误,提示找不到匹配的构造器。 10. **访问控制修饰符**:Java的访问...
10. 第十个题目中,Example类有一个带参数的构造器,而Demo类没有显式调用超类构造器。因此,当创建Demo对象时,会使用Example类的无参构造器,导致错误。答案是D,第15行。 11. 访问控制修饰符包括public、...
1-15 **排序与搜索**: 在Java中,排序通常涉及到数组或集合的元素排列。例如,可以使用各种排序算法如冒泡排序、插入排序、选择排序、快速排序、归并排序等。这些算法效率不同,实际应用中会根据数据规模和特定需求...