多态中的引用类型转换
多态的引用类型转换:
1.向上类型转换(隐式/自动类型转换),是小类型到大类型的转换 无风险
2.向下类型转换(强制类型转换),是大类型到小类型 有风险,可能会发生溢出
3. instanceof运算符,来解决引用对象的类型,避免 类型转换的安全性问题
1 package com.imooc; 2 3 public class Initial { 4 5 public static void main(String[] args) { 6 // TODO Auto-generated method stub 17 18 /***多态中的引用类型转换***/ 19 Dog dog = new Dog(); 20 Animal animal = dog; //自动类型提升 向上类型转换 21 //Dog dog2 = animal; //父类类型对象不能转换为子类对象 22 if(animal instanceof Dog){ 23 Dog dog2 = (Dog)animal; //强制类型转换 向下类型转换 24 }else{ 25 System.out.println("无法进行类型转换 Dog类型"); 26 } 27 28 //Cat cat = (Cat)animal; //1.编译时 按Cat类型 2.运行时 Dog类型 29 if(animal instanceof Cat){ 30 Cat cat = (Cat)animal; 31 }else{ 32 System.out.println("无法进行类型转换 Cat类型"); 33 } 34 } 35 36 }
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
posted on 2016-04-17 18:37 Mountain's_blog 阅读(357) 评论(0) 编辑 收藏 举报