强制类型转换
来源:互联网 发布:信永中和最新工资算法 编辑:程序博客网 时间:2024/06/06 19:07
/*目前多态情况下不能访问子类特有的成员。如果需要访问子类特有的成员,那么需要进行类型强制转换.基本数据类型的转换 小数据类型-------->大的数据类型 自动类型转换 大数据类型--------->小数据类型 强制类型转换 小数据类型 变量名 = (小数据类型)大数据类型;引用数据类型的转换 小数据类型--------->大数据类型 自动类型转换。 大数据类型--------->小数据类型 强制类型转换类型转换最场景的问题: java.lang.ClassCastException。 强制类型转换失败。*///动物类abstract class Animal{ String name; public Animal(String name){ this.name = name; } public abstract void run();}//老鼠class Mouse extends Animal{ public Mouse(String name){ super(name); } public void run(){ System.out.println(name+"四条腿慢慢的走!"); } //老鼠特有方法---打洞 public void dig(){ System.out.println("老鼠在打洞.."); }}//鱼class Fish extends Animal{ public Fish(String name){ super(name); } public void run(){ System.out.println(name+"摇摇尾巴游啊游 !"); } //吹泡泡 public void bubble(){ System.out.println(name+"吹泡泡...!"); }}class Demo2 { public static void main(String[] args) { /* Animal a = new Mouse("老鼠"); //多态 //调用子类特有的方法 Mouse m = (Mouse)a; //强制类型转换 m.dig(); */ Mouse m = new Mouse("米老鼠"); Fish f = new Fish("草鱼"); print(f); } //需求: 定义一个函数可以接收任意类型的动物对象,在函数内部要调用到动物特有的方法。 public static void print(Animal a){ // Animal a = new Mouse("米老鼠"); if(a instanceof Fish){ Fish f = (Fish)a; f.bubble(); }else if(a instanceof Mouse){ Mouse m = (Mouse)a; m.dig(); } }}
这里写代码片
0 0
- 关于强制类型转换:强制类型转换
- 类型转换&&类型强制转换
- 类型转换&&类型强制转换
- 类型转换(向下强制)
- c++强制类型转换
- 强制类型转换
- 关于强制类型转换
- c++强制转换类型
- C++ 强制类型转换
- c++强制类型转换
- 强制类型转换
- C++强制类型转换
- java强制类型转换
- c++强制类型转换
- javascript 强制类型转换
- 谈谈强制类型转换
- C++强制类型转换
- cast : 强制转换类型
- 构造函数的顺序
- C++中const、volatile、mutable用法小结
- OC中protocol协议
- 安卓开发文档自翻译~(1)--adb
- 零基础学C语言 笔记五 算术表达式
- 强制类型转换
- codeforces 515C. Drazil and Factorial
- http协议
- 接口关系下的多态
- 开发工具之Eclipse快捷键
- 微信抢红包优化版
- Python 中怎么写 swap()交换函数
- 关于mutex的一些思考
- 共享文件