博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对象的类型转换
阅读量:6897 次
发布时间:2019-06-27

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

java语言允许某个类型的引用变量引用子类的实例,而且可以对这个引用变量进行类型转换。把引用类型转换为子类类型,则称为向下转换;如果把引用类型转换为父类类型,则称为向上转型。

Animal animal=new Dog();

Dog dog=(Dog)animal;//向下转型,把Animal类型的转换为Dog类型,必须进行强制类型转换

Creature creature=animal;//向上转型,把Animal类型的转换为Creature类型,不需要强制类型转换

通过引用类型变量来访问所引用对象的属性和方法时,java虚拟机将采用以下绑定规则:

1、实例方法是与引用变量实际引用的对象的方法进行绑定的,属于动态绑定,因为实在运行时由JAVa虚拟机动态决定的。例如:animal.eat()将eat()方法与Dog类绑定。

2、静态方法与引用变量所声明的类型的方法绑定,属于静态绑定。因为实在编译阶段就已经做了决定。animal.staticEat()将staticEat()与Animal类绑定

3、成员变量(静态变量和实例变量)与引用变量所声明的类型的成员变量绑定,属于静态绑定,同上,animal.name与animal.staticName都与Animal类绑定。

 

转载于:https://www.cnblogs.com/tjlgdx/p/6141615.html

你可能感兴趣的文章
HDOJ-1999 不可摸数
查看>>
HDOJ---4278 Faulty Odometer[进制转化]
查看>>
需求与设计过程(1)-用例
查看>>
Java 理论与实践: 流行的原子
查看>>
树线段线段树(端点更新) hdu-4521 小明系列问题——小明序列
查看>>
Spring MVC中前后台数据传输小结
查看>>
《C++ Primer Plus》第15章 友元、异常和其他 学习笔记
查看>>
J2EE基础之JavaBean
查看>>
[Android Pro] Android 性能分析工具dumpsys的使用
查看>>
Win10年度更新开发必备:VS2015 Update 2正式版下载汇总
查看>>
Zabbix-3.0.0 安装Graphtree
查看>>
JAVA内存模型5-锁
查看>>
PHP基础之 define() 函数
查看>>
atitit.农历的公式与原理以及农历日期运算
查看>>
Coursera公开课笔记: 斯坦福大学机器学习第六课“逻辑回归(Logistic Regression)” 清晰讲解logistic-good!!!!!!...
查看>>
C/S架构应用程序开发培训笔记
查看>>
一周规划汇总_2016-09-04
查看>>
POST中文乱码解决方案
查看>>
如何快速有效的修改java的环境变量
查看>>
Android项目实战(二十六):蓝牙连接硬件设备开发规范流程
查看>>