zoukankan      html  css  js  c++  java
  • 类型安全性测试

                Object o1 = new Object();
                Object o2 
    = new B();
                Object o3 
    = new D();

                Object o4 
    = o3;
                B b1 
    = new B();
                B b2 
    = new D();

                D d1 
    = new D();
                
    //B b3 = new Object();      CTE
                
    //D d2 = new Object();      CTE

                B b4 
    = d1;
                
    //D d3 = b2;                CTE

                D d4 
    = (D)d1;
                D d5 
    = (D)b2;

                
    //D d6 = (D)b1;             RTE
                
    //B b5 = (B)o1;             RTE
                B b6 = (D)b2;

    这里 CTE表示编译期间错误,RTE表示运行期间错误。

    记住两点,涵盖以上所有类型转换:
    1.一个对象可以转为它的任何基类型,不需要任何额外语法,这是一种安全的隐式转换
    2.一个对象要显示转换成它的派生类型,这是强制的,因为运行期间可能会发生异常——RTE
  • 相关阅读:
    Linux排序命令sort笔记
    Linux排序命令sort笔记
    Linux文本截取命令cut​笔记
    排序和搜索
    栈和队列
    链表
    顺序表
    Linux编辑器|gedit|vi|vim编辑器
    Linux简介
    简单学习Git
  • 原文地址:https://www.cnblogs.com/Jax/p/844159.html
Copyright © 2011-2022 走看看