java多态的应用场景_Java培训SE基础之多态的应用场景
1. 多态数组
当创建多个不同的子类对象, 而又想统一处理这批对象时, 就可以使用多态数组.
Person[] arr = {new Student(), new Teacher()};
2. 多态参数
在设计方法时, 有的方法内部需要用到另外的类的对象, 但是在设计方法时, 又不需要关心究竟是哪个对象, 只关心这些实参对象都是某个类型的, 此时, 方法的参数的类型就可以写成父类类型的参数,这样的方法的参数就是多态参数.
public void test(Person p) { // 这个方法的参数p的具体类型未知
System.out.println(p.say());
}
main() {
test(new Chinese()); // 在实际调用多态参数方法时, 可以传入任意本类或子类类型的对象
test(new American());
}
x instanceof A:检验x是否为类A的对象,返回值为boolean型。
要求x所属的类与类A必须是子类和父类的关系,否则编译错误。
如果x属于类A的子类B,x instanceof A值也为true。
public class Person extends Object {…}
public class Student extends Person {…}
public class Graduate extends Person {…}
——————————————————————-
public void method1(Person e) {
if (e instanceof Person)
//处理Person类及其子类对象
if (e instanceof Student)
//处理Student类及其子类对象
if (e instanceof Graduate)
//处理Graduate类及其子类对象
}
对象类型转换 (Casting )
基本数据类型的Casting:
自动类型转换:小的数据类型可以自动转换成大的数据类型
如long g=20; double d=12.0f
强制类型转换:可以把大的数据类型强制转换(casting)成小的数据类型
如 float f=(float)12.0; int a=(int)1200L
对Java对象的强制类型转换称为造型
从子类到父类的类型可以自动进行
从父类到子类的类型转换必须通过造型(强制类型转换)实现
无继承关系的引用类型间的转换是非法的
在造型前可以使用instanceof操作符测试一个对象的类型
上一篇: Java培训技术之虚拟方法调用(Virtual Method Invocation)
下一篇: Python开发培训能学会吗
java多态的应用场景_Java培训SE基础之多态的应用场景相关推荐
- java 搭建企业应用框架_java培训一般要学多久
"Java就业薪资高薪,通过体系性的培训年收入就是20-30万",最近在接待学员的过程中发现很多机构打着高薪招募学员,其实Java培训出来的薪资有没有那么多高,肯定是有部分学员能达 ...
- java适配器模式 场景_Java设计模式之《适配器模式》及应用场景
适配器就是一种适配中间件,它存在于不匹配的二者之间,用于连接二者,将不匹配变得匹配,简单点理解就是平常所见的转接头,转换器之类的存在. 适配器模式有两种:类适配器.对象适配器.接口适配器 前二者在实现 ...
- java中的Attribute类_java培训技术ModelAttribute注解修饰POJO类型的入参
@RequestMapping("/testModelAttribute") //public String testModelAttribute(User user){ publ ...
- java入门从哪下手_java新手0基础如何最快速的入门
一口不吃了一个胖子,心急吃不了热豆腐.当你点开这篇文这句话送给你. 零基础学Java只需办法适合,仍然有机遇进修好Java编程.初学Java就像交同伙从生疏到认识再到铁杆错误平生相伴,跟着进修的深刻, ...
- java socket 重连复用_Java Socket编程基础及深入讲解(示例代码)
Socket是Java网络编程的基础,了解还是有好处的, 这篇文章主要讲解Socket的基础编程.Socket用在哪呢,主要用在进程间,网络间通信.本篇比较长,特别做了个目录: 一.Socket通信基 ...
- java 画笔跟swing组件_Java学习教程(基础)--Java版本历史(二)
Java语言自JDK1.0版本以来经历了许多次更新,也在基本程序库中增加了大量的类别和包.从J2SE 1.4开始,Java语言的变动由 Java Community Process(JCP)管理,JC ...
- java线程池存在时间_Java线程池基础
目录: 一.线程池概述 1.线程池类 目前线程池类一般有两个,一个来自于Spring,一个来自于JDK: 来自Spring的线程池:org.springframework.scheduling.con ...
- java编译命令带参数_java编译命令基础知识点
我们在对计算机下达指令时,人类的语言它是不能够明白,需要通过编译的时候翻译成计算机能听懂的语言.编译过程中会调用javac命令,这点大家可能接触的不多,毕竟是是计算机程序内部运行时的操作.下面我们就编 ...
- java睡眠后继续执行_Java高级编程基础:如何使用线程的休眠,中断和连接
线程休眠和中断 我们知道了在编程过程中创建线程,并启动以后,线程会交由操作系统来管理调度执行一个我们指定的计算任务. 如果没有其它异常情况出现的话,它会持续运行直到我们实现的run()方法执行完毕为止 ...
最新文章
- 使用poi进行excel导入并解析插入数据库
- 计算机安全设,默认的安全性还不够!这几个保护计算机的步骤要设置好
- (step6.3.2)hdu 1068(Girls and Boys——二分图的最大独立集)
- 问题:从键盘读取特定类型的数据(使用Scanner读取int类型)
- 这个副业清单,总有一个适合你!
- 理解数据库与数据模型的概念
- python中闭包的作用_Python闭包及其作用域
- 分水岭算法(Watershed Algorithm)
- python wps linux_体验WPS for Linux
- 江苏省×××局数据复制软件招标
- CyanogenMod - All the source code for CyanogenMod
- android 时区表以及设置系统时区
- 苹果iOS第三方应用商店,App store没有的这都有!发烧友赶紧来!
- 北京最新道路货物运输驾驶员考试真题题库及答案
- Excel功能及实现
- iOS录屏和截屏监听(以及出现的bug)
- 并行计算中的BSP模型
- 喜欢听音乐的小伙伴看过来
- 【Linux】Ubuntu20网络频繁掉线解决
- Java 国王放麦子