面向对象--03值类型和引用类型

Posted 静态类

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象--03值类型和引用类型相关的知识,希望对你有一定的参考价值。

区别:

1)值类型和引用类型在内存上存储的地方不一样

2)在传递值类型和传递引用类型的时候,传递的方式不一样

值类型我们称之为值传递,引用类型我们称之为引用传递

值类型:int、double、bool、char、decimal、struct、enum

引用类型:string、自定义类、数组

存储:

值类型的值是存储在内存的栈当中。是直接存储在栈当中

引用类型的值是存储在内存的堆中。内存的值存储在堆中,下图变量s存储在栈中,然后栈里面存储的是堆中值的地址。

自定义类也是 如此,如图所示,zsPerson这个对象是存储在栈当中的,栈里面存的是 堆中,zsPerson的值的地址,比如说堆里面的地址是0x010101,栈里面存的就是这个,然后在堆里面的这个地址里,存的才是这个对象的值

 

以上是关于面向对象--03值类型和引用类型的主要内容,如果未能解决你的问题,请参考以下文章

03_2_JAVA中的面向对象与内存解析

前端:JavaScript面向对象之内建对象

JavaScript面向对象—变量及作用域和内存问题

javaScript面向对象

面向对象设计-精通随笔-值对象和引用对象

第三章 面向对象编程 3.1类型系统