博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
多态(3)面向对象的三大特征之三
阅读量:4669 次
发布时间:2019-06-09

本文共 788 字,大约阅读时间需要 2 分钟。

多态:重写方法:
(1)位置:子类和父类中有同名方法

(2)方法名相同,返回值类型和修饰符相同

方法体不同

有时候子类会替代父类的方法

多态的形式一:

public void feed(Pet pet){

pet.eat();
}

mas.feed(cst);

父类做形参,子类做实参

程序中的多态,由于条件按不同,产生的结果也不同

多态:同一个引用类型,使用不同的实例而进行不同的操作,父类引用子类对象

多态的第二种形式;
//父类做类型子类实例化
Pet pet2=new Cat();//new Dog就走Dog //做什么事情就调用什么事情的方法ti
pet2.eat();

向上转换称为自动转换

多态的第三种形式:

父类作为方法的返回类型,子类作为实例化。(类型自动转换)

public Pet getPet(int typeid){
Pet pets=null;
if(typeid==1){
pets=new Dog();
}else if(typeid==2){
pets=new Cat();
}else if(typeid==3){
pets=new Penguin();
}
return pets;
}
intanceof

子类转换为父类:向上转型,自动类型转换

向下转换:
父类转换为子类,结合instanceof运算符进行(判断是否是子类,/父类)强制类型转换(用于进行强制类型转换)

 多态,搞了半天多写几个例子,就好了

 

 

所谓多态就是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。

 

转载于:https://www.cnblogs.com/hualishu/p/8492664.html

你可能感兴趣的文章
Bootstrap辅助类
查看>>
vue项目的骨架及常用组件介绍
查看>>
Spring使用外部的配置文件
查看>>
ctype
查看>>
jsp 修饰 Request 及Response
查看>>
HDU 2389 Rain on your Parade / HUST 1164 4 Rain on your Parade(二分图的最大匹配)
查看>>
对象的类型转换P109
查看>>
sqlite 查询表和字段是否存在
查看>>
http => https 升级
查看>>
Window 分布式学习-好文收藏
查看>>
Android TextUtils类介绍
查看>>
linux echo设置颜色
查看>>
英文参考文献标准格式:论文参考文献格式规范(转载)
查看>>
css div框加小箭头
查看>>
Eclipse快捷键与使用技巧总结
查看>>
Solr4.8.0源码分析(16)之SolrCloud索引深入(3)
查看>>
PEP8 - Python编码规范
查看>>
div放置图片总结
查看>>
FZOJβ #45. 染色问题
查看>>
Python之SYS模块
查看>>