面向对象_多态中的对象变化内存图解
2016-10-06 18:07
295 查看
/* ClassCastException:类型转换异常 一般在多态的向下转型中容易出现 */ class Animal{ public void eat(){ System.out.println("该吃饭了"); } } class Dog extends Animal{ public void eat(){ System.out.println("狗,该吃饭了"); } public void lookDoor(){ System.out.println("狗看家"); } } class Cat extends Animal{ public void eat(){ System.out.println("猫,该吃饭了"); } public void playGame(){ System.out.println("猫玩英雄联盟"); } } class DouTaiDemo5{ public static void main(String[] args){ //内存中是狗 Animal a = new Dog(); a.eat(); //a.lookDoor();//报错 Dog d = (Dog)a; d.eat(); d.lookDoor(); System.out.println("----------------------"); //内存中是猫 a = new Cat(); a.eat(); //a.playGame();//报错 Cat c = (Cat)a; c.eat(); c.playGame(); System.out.println("----------------------"); //内存中是猫 //Dog dd = (Dog)a;//ClassCastException(类转换异常) } }
相关文章推荐
- 多态继承中的内存图解 && 多态中的对象变化的内存图解
- 多态中的对象变化内存图解
- 面向对象_多态继承中的内存图解
- 面向对象_this关键字的概述和应用、this关键字的内存图解
- 6 Java基础语法(二维数组,参数传递与数据加密问题)&面向对象(面向对象思想,类与对象及使用,对象内存图解)
- 面向对象第十四课,多态,基本概念,内存分析(重要)
- Java面向对象-类与对象以及内存图解
- The different types of polymorphism in OOP-面向对象程序设计中的多态类型
- 面向对象设计之:多态
- 设计模式学习笔记二:面向对象基础三之多态
- .Net 2.0内存对象布局详析及与1.1变化比较
- JavaScript 面向对象程序设计(下)——继承与多态
- 面向对象设计三大原则(封装变化点,对接口进行编程,多使用组合而不是继承)
- 面向对象概念解释:多态 (儿童不宜)
- 面向对象分析设计学习与探索(四):需求变化(Requirements Change)
- (转)JavaScript 面向对象程序设计(下)——继承与多态
- .Net 2.0内存对象布局详析及与1.1变化比较
- JavaScript 面向对象程序设计(下)——继承与多态(转)
- 面向对象之多态学习
- c 面向对象思想体现及多态方法(huabaojian ustc )