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
  • 相关阅读:
    android 之 ListView相关
    android 之 菜单
    android 之 Dialog
    android 之 View
    android 之 service
    android 之 Intent、broadcast
    Service Broadcast简单音乐播放功能
    剑指offer面试题43:n个筛子的点数
    C# LINQ语法
    C# Linq
  • 原文地址:https://www.cnblogs.com/Jax/p/844159.html
Copyright © 2011-2022 走看看