Java复习——多态性
来源:互联网 发布:mac os 远程桌面 编辑:程序博客网 时间:2024/05/21 17:10
一、多态性的概念
多态是面向对象三大特性之一
二、多态性的两种情况
1、多态性我们大概可以分为两类:
(1)方法的重载与重写
(2)对象的多态性
三、对象的多态性
对象多态性是从继承关系中的多个类而来。
1、向上转型:将子类实例转为父类实例
格式:父类 父类对象 = 子类实例;——>自动转换
以基本数据类型操作为例:int i = ‘a’;
(因为c的容量比int小,所以可以自动完成)
2、向下转型:将父类实例转为子类实例
格式:子类 子类对象 = (子类) 子类实例;强制转换
以基本数据类型操作为例:char c = (char) 97;
(因为整型是4个字节比char2个字节要大,所以需要强制完成)
四、多态性小结
1、方法的重载与重写就是方法的多态性表现
2、多个子类就是父类中的多种形态
3、父类引用可以指向子类对象,自动转换
4、子类对象指向父类引用需要强制转换(注意:类型不对会报异常)
5、在实际开发中尽量使用父类引用(更利于扩展)
/** * * 多态性 * */public class PolymorphismDemo { public static void main(String[] args){ //八种基本类型 //自定义类型 //父类就是大,子类就是小 Person man = new Man();//父类的引用指向子类对象 man.say(); Person women = new Women(); women.say(); //强制转换 Man m = (Man)man; m.say(); //java.lang.ClassCastException类型 转换异常 //Man m1 = (Man)women; //没有父子关系的两种类型不能强制装换 }}abstract class Person{ String name; public void setName(String name){ this.name = name; } public String getName(){ return name; } public void say(){}//抽象方法}class Man extends Person{ public void say(){ System.out.println("人家可是纯爷们!"); }}class Women extends Person{ public void say(){ System.out.println("再不交房租,我就烧了你的铺!"); }}
阅读全文
0 0
- Java复习——多态性
- Java——多态性
- Java编程—多态性
- 多态性复习
- Java核心技术——多态性
- Java基础学习——Java多态性
- 黑马程序员——Java之多态性
- Java虚拟机(九)——多态性理解
- Java虚拟机(九)——多态性理解
- Java编程那些事儿63—多态性
- Java编程那些事儿63—多态性
- Java——复习
- 多态性——对象的多态性
- 多态性(一)——静态多态性
- Java多态性——对象的多态性(向上、向下转型)
- Java基础(极客)——15、Java面向对象多态性
- JAVA基础之——深入理解java多态性
- java多态性详解——父类引用子类对象
- C++与Java数组的申明创建初始化的区别
- todolist(jQuery实现)
- Android关于Theme.AppCompat相关问题的深入分析
- 解析BeeGFS将以何成就高性能计算
- 使用Grafana搭建监控系统
- Java复习——多态性
- MongoDB 开发之二
- 译者前言--笔记(一)
- sql基础知识2
- 排序算法总结
- [bzoj]1211: [HNOI2004]树的计数
- Android仿QQ侧滑删除(ViewDragHelper)
- (转)归江:投资,心平气和结硕果
- 搭建基于Selenium+TestNG+Maven+Jenkins+SVN的Web端UI自动化测试环境