zoukankan      html  css  js  c++  java
  • CLR via c#类型基础

    一:所有的类型都从System.Object派生

    System.Object的公共方法:

    1.Equals

    如果两个对象具有相同的值,则返回true.但是如果比较的两个对象指向不同的引用,则返回false.

    实质上,它表示的是同一性,而非相等性。

    2.GetHashCode

    返回对象值的一个哈希码

    3.Tostring

    默认返回类型的完整名称(this.GetType.FullName)

    4.GetType

    System.Object受保护类型:

    1.MerberwiseClone

    这个非虚方法创建类型的一个新实例,并于新对象的实例字段设与this对象的实例完全一致。返回的是新对象的一个引用。

    2.Finalize

    在对象的内存被实际回收之前,会调用这个需方法。

    一个new操作背后所发生的事情:

    Employee employee=new Emplyee("employee");

    1.计算所有的类型以及基类型中定义的所有实例字段所需要的字节数,其中包括每个对象都需要的类型对象指针和同步块索引

    2.在堆上分配指定类型所需要的类型要求的字节数,从而分配对象的内存,分配的所有字节都设置为零

    3.初始化类型对象指针和同步块索引成员

    4.调用类型的实例构造器,向其传入调用中指定的实参。大多数编译器都会在构造器中自动生成代码来调用一个基类的构造器,

    每个类型构造器在调用时,都要负责初始化由这个类型定义的实例字段。最终调用的是Object的构造器。

    最后会返回一个指向新建对象的一个引用(或指针)。

  • 相关阅读:
    intellij idea 将taskRequest.java文件识别为文本文档
    react 学习笔记2
    react 学习笔记1
    webpack4 配置笔记(转自掘金)
    音乐播放之进度条-自定义
    EBS
    Python 学习笔记
    Form 电子表格(JTF GRID)
    Form 中实现历史记录查询
    Form 去掉使用格式掩码带来的多余字符
  • 原文地址:https://www.cnblogs.com/chenxiaoran/p/2081143.html
Copyright © 2011-2022 走看看