美文网首页
类型转换 自动&强制

类型转换 自动&强制

作者: 御都 | 来源:发表于2019-05-17 17:52 被阅读0次

    一 向上转型由系统自动完成

    1. 基本数据类型中的数值型可以自动向上转型,详情参考https://www.jianshu.com/p/d98b05bea9d5中的类型提升。
    2. 将子类对象赋值给一个父类引用变量,就是向上转型,由系统自动完成。
      二 向下转型,强制类型转换
      1 基本数据类型中强制类型转化的操作只存在于各个数值类型中,逆向。
      2 引用数据类型中强制类型转换操作的前提是,父类引用变量的运行态为子类,可以将该父类引用变量强制转换为子类。
      2.1 如果2个类之间没有继承关系,是不能进行强制类型转换的。
      2.2 父类的运行时类型就是父类本身,强制转化为子类,运行时报错ClassCastExceotion。
    public class Test {
        public static void main(String[] args) {
            Father f = new Father();
            Father f2 = new Son();
            Son s = (Son)f;//java.lang.ClassCastException
            Son s2 = (Son)f2;
        }
        
    }
    class Father{
        
    }
    class Son extends Father{
        
    }
    

    相关文章

      网友评论

          本文标题:类型转换 自动&强制

          本文链接:https://www.haomeiwen.com/subject/cjbgaqtx.html