理解多态和RTTI
来源:互联网 发布:淘宝官方电话人工服务 编辑:程序博客网 时间:2024/09/21 08:19
public class ChinesePerson implements Person {@Overridepublic void say() {// TODO Auto-generated method stubSystem.out.println("i am chinese");}}
public class JapanPerson implements Person {@Overridepublic void say() {// TODO Auto-generated method stubSystem.out.println("i am Japan");}}
public interface Person {public void say();public default void type() {System.out.println("i am a interface");}}
//理解多态public class TestMain {public static void main(String[] args) {//存入数组的时候,会自动向上转型为Object,丢失了具体的类型//当从数组中取出的时候,(List容器将所有的事物都当做Object持有)//会自动将结果转型回Person,这就是RTTI的基本用法List<Person> persons = Arrays.asList(new ChinesePerson(),new JapanPerson());for(Person person:persons) {//这里的person类型是Person而不是Chinese或者是Japan,但是程序会自动执行原有类型的方法上//能够通过Person对象执行到子类的具体代码就是又多态来决定的//而多态也是使用RTTI,可以查询某个Person引用所指向的对象的确切类型,然后选择性的执行子类的方法person.say();}}}
多态的实现是依靠rtti(运行时类型检查或者叫后期绑定)
阅读全文
0 0
- 理解多态和RTTI
- 理解RTTI
- 多态与RTTI
- C++专题总结之理解虚拟函数、多继承、虚基类和RTTI
- 理解虚拟函数、多继承、虚继承和RTTI所需的代价
- 笔记:RTTI与多态
- 理解C++的RTTI
- More Effective C++----(24)理解虚拟函数、多继承、虚继承和RTTI所需的代价
- 多继承,RTTI和虚函数
- 对于RTTI机制的理解
- 对于RTTI机制的理解
- RTTI及多态的实现机制
- RTTI实现原理(多态的原理)
- RTTI和反射笔记
- 浅议 Dynamic_cast 和 RTTI
- 浅议 Dynamic_cast 和 RTTI
- 浅议 Dynamic_cast 和 RTTI
- RTTI和反射简介
- 吃糖果
- Python学习第二天感悟--搭建环境
- Codeforces818D【优先队列】
- 关于hashMap的几种遍历方法
- 【思维】nyoj-备用 2351--你怎么又插队
- 理解多态和RTTI
- 素数筛选法
- C语言(Head First C)-1:C语言入门
- 二三层转发
- div布局之左定宽右自适应
- openstack搭建--1--基础环境搭建
- 【复习笔记】听说找工作一定要会的三种排序算法
- FFMPEG学习【libpostproc】
- 博弈算法