java内存分配和强转/转型(向上和向下转型)相关
来源:互联网 发布:数据分析实战 pdf 编辑:程序博客网 时间:2024/06/17 00:40
java 内存分配 http://blog.csdn.net/javaoverflow/article/details/8874172
http://blog.csdn.net/shimiso/article/details/8595564
百度搜:java 内存分配
下图仅供参考,不保证正确性
Son son = new Son(); son是new出的对象,严格来说是对象的引用
Father father=new Song();父类的引用指向子类("指向xxx" 是"指向 new 的对象",如new 的对象是子类,则指向子类,new 的对象是父类,则指向父类。下文中的“成员变量,静态方法看左边;非静态方法:编译看左边,运行看右边”这句话,左右中的“左”指等号左边对象的类型,右指等号右边new的对象)。
创建的对象是父类的引用还是子类的引用怎么看?创建对象的类型为是什么,就称是什么的引用,如创建了对象son 而son的类型为Son,则说是Son的引用。
多态问题1:有继承关系的父类和子类拥有相同变量或方法时,调用的是子类还是父类的变量或方法
如链接问题:https://www.oschina.net/question/1175055_117310
可以参考:http://blog.csdn.net/foreverhuylee/article/details/21278311 一句话:成员变量,静态方法看左边;非静态方法:编译看左边,运行看右边
多态的条件:继承 + 重写 +父类的引用指向子类
多态问题2:转型
父类的引用操作子类,即向上转型(Father father = new Son()),好处是提高了扩展性,坏处是不能使用子类特有的方法。
若想使用子类特有的方法可以向下转型(强转)即:
Father father = new Son();
father =(Son)father;
注意:1 无论向上还是向下转型,最终都是子类对象做着变化--出自毕向东-多态_转型--节。此节父类是动物,子类是小狗,子类做变化的含义是自始至终都是小狗做变化,一会叫小狗,一会叫动物。
2 向下转型要做检查
3 强转分为基本数据类型和引用数据类型两种情况。引用数据类型强转中上文讲了父类的引用指向子类的情况,如果不存在父子类引用,会异常(仅供参考)
- java内存分配和强转/转型(向上和向下转型)相关
- 【java】java中向上转型和向下转型相关知识
- 向上转型和向下转型内存图解
- java 向上转型和向下转型
- java 向上转型和向下转型
- Java 向上转型和向下转型
- java向上转型和向下转型
- java中的向上转型和向下转型
- Java中的向上转型和向下转型
- java中的向上转型和向下转型
- java中的向下转型和向上转型
- Java 向上转型和向下转型
- java向上转型和向下转型
- Java的向上转型和向下转型
- java向上转型和向下转型
- Java 向上转型和向下转型
- Java向上转型和向下转型
- java向上转型和向下转型
- android实现界面左右滑动(GridView动态设置item,支持每个item按某个属性排序来显示在不同的界面)
- 单文档程序添加OSG
- GIT教程、GIT的使用方法以及常用命令
- 单片机开发新架构---时间片轮询
- Dual USB to Serial UART(USB转双串口)
- java内存分配和强转/转型(向上和向下转型)相关
- 人件读书笔记(34)让改变成为可能
- leetcode 201. Bitwise AND of Numbers Range
- Python中DataFrame函数操作数据库
- 上线一开始遇到的三个问题
- Shiro初步_2
- 中断的顶半部和底半部
- Android-maven配置multidex打包
- 一个正则表达式的问题