zoukankan      html  css  js  c++  java
  • 装箱拆箱

    装箱拆箱

    放入object和取出过程

    装箱:根据值类型的值,在堆上创建一个完整的引用类型对象,并返回对象的引用,是一种隐式转换

    就是将值类型转换为引用类型

    有时候需要将值类型转化为引用类型来进行统一的操作和统一的存储

    装箱示例:

    int i=3//这个是int类型的值类型,值为3
    object oi=null;
    oi=i;

    装箱的本质就是在堆上创建了引用类型的副本,新创建的引用类型和原来的值类型相互独立。

    拆箱:将装箱后的对象转换回值类型的过程,是一种显示转换,需要手动完成

    int j=(int)oi

    自定义转换

    为自己的结构或者类定义显式或隐式转换,为了让结构或者类可以变成一个预期相关的类型,并且使这种转换更加简单。

    public static explicit(显式)/ implicit(隐式) operator 没有函数名称

    显式需要用到括号强制转换。

    pubilc static--静态方法 implicit--隐式 operator--转换

    pubilc static--静态方法 explicit--显式 operator--转换

    隐式转换:

    public static implicit operator Dog(Cat cat)
    
    {
    }

    显式转换:

    隐式转换和显式转换的调用不同

    即下图中

    隐式转换的调用:Cat cat=dog;

    显式转换的调用:Dag cat=(Dog)cat;

  • 相关阅读:
    随机点名系统
    JQuery
    百度搜索下拉提示
    正则表达式
    严格模式
    CSS引入方式有哪些,区别是什么
    Js中的函数
    float浮动造成高度塌陷的解决办法
    PC端页面开发基础-问题总结(一)
    PC端页面开发基础-IE6常见CSS解析Bug及Hack
  • 原文地址:https://www.cnblogs.com/sunmarvell/p/12191260.html
Copyright © 2011-2022 走看看