PS:注释和讲解部分在代码中

1. Object类

问题提出:你实现了一个只有Print()这唯一方法的类,然后在实例化对象时发现了一个诡异的问题:

为什么多出了这么多我并没有定义的方法?

这是因为在C#中存在一个Object类,它是所有类的父类,所有的类都直接或者间接继承自Object类

VS跳转入Object类的方法:

选中object变量按F12即可

结果如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace C4_程序设计
{class Text{string name;public Text(string name){this.name = name;}public void Print(){Console.WriteLine(name);}public override string ToString()       //可以重写Object类中的ToString()函数以方便测试{return string.Format("My name is {0}!", name);//return base.ToString();}}class Object类{static void Main(){Text me = new Text("hautcds");Console.WriteLine(me.ToString());       //如果不重写ToString()函数,输出结果为:C4_程序设计.Text//实际输出结果:My name is hautcds!//装箱与拆箱://装箱:值类型-->引用类型//拆箱:引用类型-->值类型//装箱和拆箱本质上是数据存储在栈空间与堆空间之间变更(因此频繁的装箱或拆箱会降低代所以代码中尽量少用装箱或拆箱操作)Object B = new Object();         //注意区分Object和object,Object是个类,而object是个类型,object是Object的一个别称int a = 12;Console.WriteLine(a);object b = a;            //装箱操作:值类型-->引用类型Console.WriteLine(b);a = (int)b;              //拆箱操作:引用类型-->值类型Console.WriteLine(a);//以上输出结果都是12}}
}

2. 装箱与拆箱

  • 装箱:值类型-->引用类型
  • 拆箱:引用类型-->值类型

装箱和拆箱本质上是数据存储在栈空间与堆空间之间变更(因此频繁的装箱或拆箱会降低代所以代码中尽量少用装箱或拆箱操作),代码如上

C#基础12.1:Object类相关推荐

  1. java构造一个水果类_Java基础入门之Object类、匿名内部类、构造方法的继承解析...

    前言 大家好,我是Java进阶者.这篇文章我们主要介绍Java基础中的Object类.匿名内部类.构造方法的继承知识,一起来学习下吧! 一.Object类 1.Object类是所有类的父类,所有类都继 ...

  2. [ 转载 ] Java基础10--关于Object类下所有方法的简单解析

    关于Object类下所有方法的简单解析 类Object是类层次结构的根类,是每一个类的父类,所有的对象包括数组,String,Integer等包装类,所以了解Object是很有必要的,话不多说,我们直 ...

  3. JAVA基础系列:Object类

    1. 万物皆对象 1. JVM在编译源代码时,在遇到没有继承Object的对象的时候,编译器会默认指定一个默认的父类Object 2. Object 和接口的关系,接口是否继承Object?接口没有继 ...

  4. C#基础12:嵌套类、匿名类与密封类

    PS:注释和讲解全在代码中 1. 嵌套类.匿名类与密封类 using System; using System.Collections.Generic; using System.Linq; usin ...

  5. Java基础学习总结(7)——Object类

    2019独角兽企业重金招聘Python工程师标准>>> 一.Object类介绍 Object类在JAVA里面是一个比较特殊的类,JAVA只支持单继承,子类只能从一个父类来继承,如果父 ...

  6. 夯实Java基础系列9:深入理解Class类和Object类

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

  7. python定义一个dog类 类属性有名字_python 基础 12 初识类,类方法,类属性

    python 基础 12 初识类,类方法,类属性 # 面向过程 : 想要一个结果 写代码 实现计算结果 # 面向对象开发 : 有哪些角色 角色的属性和技能 两个角色之间是如何交互的 # 复杂的 拥有开 ...

  8. Java基础知识(二)(Object类的常用方法、日期时间类、System类、StringBuilder类、包装类、Collection集合、Iterator迭代器、泛型、list集Set接口...)

    文章目录 Java基础知识(二) 1.Object类的常用方法 1.1 toString方法 1.2 equals方法 1.3 Objects类 2.日期时间类 2.1 Date类 2.2 DateF ...

  9. Java基础知识强化26:Object类之hashCode()方法、getClass()方法

    1. Object类的hashCode()方法,如下: public  int  hashCode():返回该对象的哈希码值,这个值和地址值有关,但是不是实际地址值(哈希码值是根据实际地址值转化过来的 ...

最新文章

  1. 经管资源库项目的总结笔记
  2. Nvidia GPU如何在Kubernetes 里工作
  3. 弹性盒模型----容器属性
  4. CI框架 CodeIgniter 伪静态 htaccess设置和Nginx伪静态方法
  5. Caused by: java.net.ConnectException: Connection refused: no further information
  6. express4.x中文文档
  7. larveral 直接拷贝安装_做一个能引导所有系统的安装盘
  8. linux中SUID,SGID和SBIT的奇妙用途
  9. 博途v15 固件升级包_使用博途TIA 15.1对SIMATIC S7-1200进行硬件组态和固件版本在线升级(博途V15和1200学习笔记一)...
  10. 微软模拟飞行10厦门航空涂装_《微软飞行模拟》或很快迎来技术公测
  11. HC Bridge容器网络模式分享
  12. python应用内部审计_软件机器人实现内部审计自动化变革,助力企业转型数字化审计...
  13. 手把手教你搭建使用NuGet私有源
  14. [230506] 2021年托福阅读真题第6篇|Water and Life on Mars|15:30~16:30|16:30~19:19
  15. ActiveMQ : Async error occurred: java.lang.OutO...
  16. python3 使用openpyxl 处理excel表格数据
  17. 网络推广是竞价好,还是优化好
  18. 『最小表示法 Necklace』
  19. Vue引入第三方字体
  20. MapReduce调优方案

热门文章

  1. python画简单图-使用Python中的Turtle库绘制简单的图形
  2. 零基础学python-零基础学习Python需要多久?多少钱?
  3. python必背代码-Python小白必备的8个最常用的内置函数(推荐)
  4. python语言程序设计是干什么的-Python语言程序设计
  5. 阿里云语音识别模型端核心技术选讲
  6. 艾媒2018年度手机输入法报告出炉:百度输入法是语音识别最准的输入法
  7. vue 后端返回图片乱码处理方法
  8. mysql 修复数据表 批量_MySQL数据库迁移与MySQL数据库批量恢复
  9. 【狂神css笔记】CSS介绍选择器
  10. FFmpeg源代码简单分析:内存的分配和释放(av_malloc()、av_free()等)