精华内容
下载资源
问答
  • 引用数据类型

    千次阅读 2018-03-28 17:00:20
    引用数据类型:类、接口类型、数组类型、枚举类型、注解类型。区别:基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上。引用数据类型在被创建时,首先要在栈上给其引用(句柄)分配一块内存,...

    继续跟上上一个章节

    格式有点乱。。。

    引用数据类型:

    类、接口类型、数组类型、枚举类型、注解类型。


    区别:

    基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上。

    引用数据类型在被创建时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在堆内存上,

    然后由栈上面的引用指向堆中对象的地址。

    例如,有一个类Person,有属性name,age,带有参的构造方法,

    Person p = new Person("zhangsan",20);

    在内存中的具体创建过程是:

    1.首先在栈内存中位其p分配一块空间;

    2.在堆内存中为Person对象分配一块空间,并为其三个属性设初值"",0;

    3.根据类Person中对属性的定义,为该对象的两个属性进行赋值操作;

    4.调用构造方法,为两个属性赋值为"Tom",20;(注意这个时候p与Person对象之间还没有建立联系);

    5.将Person对象在堆内存中的地址,赋值给栈中的p;通过引用(句柄)p可以找到堆中对象的具体信息。

    相关知识:

    静态区: 保存自动全局变量和 static 变量(包括 static 全局和局部变量)。静态区的内容在总个程序的生命周期内都存在,由编译器在编译的时候分配。

    堆区:  一般由程序员分配释放,由 malloc 系列函数或 new 操作符分配的内存,其生命周期由 free 或 delete 决定。在没有释放之前一直存在,直到程序结束,由OS释放。其特点是使用灵活,空间比较大,但容易出错

    栈区: 由编译器自动分配释放,保存局部变量,栈上的内容只在函数的范围内存在,当函数运行结束,这些内容也会自动被销毁,其特点是效率高,但空间大小有限

    文字常量区: 常量字符串就是放在这里的。   程序结束后由系统释放。
    展开全文
  • Java引用数据类型String详解

    万次阅读 2020-07-02 23:54:44
    Java引用数据类型(String)引用数据类型概述引用数据类型与基本数据类型的差别(举例说明) 引用数据类型概述 说到引用数据类型,那么何为引用数据类型? 引用类型,都可以用null值作为值,也就是说可以在初始化的...

    引用数据类型概述

    说到引用数据类型,那么何为引用数据类型?
    引用类型,都可以用null值作为值,也就是说可以在初始化的时候赋值为null,String是引用类型,也就是说可以使用null作为值。
    在这里插入图片描述

    引用数据类型与基本数据类型的差别(举例说明)

    使用基本数据类型:
    int i1 = 1
    int i2 = 1
    这种是会在内存中存储两个1的值

    但是,使用引用类型就不会!
    String s = “hello”
    String s1 = “hello”
    这种,是不会在内存中存在两个"hello"的,只存在一个"hello"。

    假设"hello"的内存地址为xxxxxx,声明s变量时给s赋值"hello"实际上让s变量引用"hello"的内存地址xxxxxx;

    当我们再次声明变量s1也赋值为"hello"的时候实际上也是直接把已经存在的"hello"的内存地址给了s1引用

    此乃引用类型和基本数据类型的区别。

    记录自己最近学习到的东西,做一个总结,希望大家喜欢,一起加油!

    展开全文
  • 文章目录引用类型 引用类型 引用数据类型 : 1. 引用数据类型定义 : 类型名称& 变量名 = 对应类型变量名称 ; //① 定义 普通 类型 变量 ...2. 上述引用数据类型解析 : int& 是引用数据类型 ,...

    文章目录



    引用类型


    引用数据类型 :

    • 1. 引用数据类型定义 : 类型名称& 变量名 = 对应类型变量名称 ;
    	//① 定义 普通 类型 变量
    	int a = 8;
    	//② 定义 引用类型变量, 格式 : 类型名称& 变量名 = 对应类型变量名称 ;
    	int& b = a;
    
    • 2. 上述引用数据类型解析 : int& 是引用数据类型 , b 是 a 的引用 ;

      • ① 变量定义本质 : int a = 8; 分配一块内存存放 int 类型数据 8 , 将该内存赋予一个别名 a ;
      • ② 引用定义本质 : 给变量 a 所在内存赋予另外一个别名 b ;
    • 3. 引用数据类型的使用方法 : 直接当做原来的变量使用即可, 可以替换原来变量的位置使用 ;

    	// 1. 修改引用类型变量值 , 引用类型做参数 , 修改引用值
    	void quote(int& b) {
    		//修改引用类型变量值
    		b = 888;
    	}
    	
    	// 2. 打印引用数据类型的修改结果 , 结果是 b 被修改成了 888
    	cout << b << endl;
    
    • 4.代码示例 :
    // 001_CMake_1.cpp: 定义应用程序的入口点。
    //
    
    #include "001_CMake_1.h"
    #include "c_extern.h"
    
    using namespace std;
    
    //定义方法接收 int& 引用类型变量
    //并在方法中修改该变量的值
    void quote(int& b) {
    	//修改引用类型变量值
    	b = 888;
    }
    
    int main()
    {
    	cout << "Hello CMake。" << endl;
    
    	//1. C C++ 兼容
    	//博客地址 : https://hanshuliang.blog.csdn.net/article/details/98840708
    	//调用 c_extern.h 头文件中定义的方法
    	//该方法定义在了 C 语言文件中
    	add(1, 2);
    
    
    	//2. 引用数据类型
    
    	//代码 展示 流程 : 
    	//① 定义 普通 类型 变量
    	int a = 8;
    	//② 定义 引用类型变量, 格式 : 类型名称& 变量名 = 对应类型变量名称 ;
    	int& b = a;
    	//③ 调用函数传入引用类型参数 : 将引用类型传给接收引用类型的方法
    	quote(b);
    	//④ 打印引用数据类型的修改结果 , 结果是 b 被修改成了 888
    	cout << b << endl;
    
    	//引用数据类型定义与使用 : 
    	// ① 引用数据类型定义 : 类型名称& 变量名 = 对应类型变量名称 ;
    	// ② 引用数据类型的使用方法 : 直接当做原来的变量使用即可, 可以替换原来变量的位置使用
    
    	//引用类型解析 : 
    	// ① int& 是引用数据类型 , b 是 a 的引用 
    	// ② 分配一块内存存放 int 类型数据 8 , 将该内存赋予一个别名 a
    	// ③ 同时又给该内存赋予另外一个别名 b 
    
    	return 0;
    }
    
    • 5.运行结果 :
      在这里插入图片描述

    展开全文
  • 声明引用数据类型(数组或对象),会将实际的数据存放在堆内存中,同时,在栈内存中声明一个数组名或对象名, 存放着在堆内存中的首地址; 所以,当使用数组名赋值时,传递的是地址。总的来说,引用数据类型传的是...

    【基本数据类型】

    基本数据类型:声明时直接在栈内存中开辟空间,并直接在当前内存中存放数据,赋值时传递的是变量中的值,

    总的来说,基本数据类型传的是值

     

    【引用数据类型】 

    声明引用数据类型(数组或对象),会将实际的数据存放在堆内存中,同时,在栈内存中声明一个数组名或对象名,

    存放着在堆内存中的首地址;

    所以,当使用数组名赋值时,传递的是地址。总的来说,引用数据类型传的是地址

     

    下面这张图详细解释了两者关系

     

     

    再说说int与integer的区别

      int 是基本数据类型,默认值为0,不需要进行实例化

      integer 是引用数据类型,是int的封装类型,默认值为null,创建该类型需要进行实例化。

      integer 会将常用的值(-128 to 127)cache起来,可以直接使用,如果是new(100)这种情况下会开辟新的堆内存。

     

    数据类型图解:

    展开全文
  • JS数据类型之引用数据类型

    千次阅读 2019-06-28 16:46:51
    1、引用数据类型也就是对象数据类型object,比如:object、array、function、data等; 2、引用类型的值可以改变: let person = {name: 'lisa'} person.name = 'Jane' // 通过修改对象属性值更改对象 console....
  • Java引用数据类型

    2019-03-07 22:15:57
    我们要学的Scanner类是属于引用数据类型,我们先了解下引用数据类型。 引用数据类型的使用 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式。 数据类型 变量名 = new 数据...
  • javascript中基本数据类型和引用数据类型的区别1、基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型。 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成...
  • 引用数据类型:比较的是引用数据类型的地址是否相同 基本数据类型:比较的是基本数据类型的值是否相同 举个例子来说: public class Main{ public static void main(String[] args) { //引用数据类型 String s1...
  • java基本数据类型和引用数据类型

    千次阅读 2016-10-12 13:46:32
    java的数据类型分为基本数据类型和引用数据类型 其中引用数据类型还有: 引用数据类型:   类、接口类型、数组类型、枚举类型、注解类型  基本数据类型和引用数据类型的区别:  基本数据类型在被创建时,...
  • Java 数据类型(基本数据类型、引用数据类型)

    千次阅读 多人点赞 2013-12-11 23:40:11
    Java 数据类型(基本数据类型、引用数据类型) 简单的介绍
  • 前言:Java的数据类型按照类型可分为基本数据类型(byte、short、int、long、double、float、char、boolean)和引用数据类型(类(class)、接口(interface)、数组(array)),8种基本数据类型相信只要接触过Java就...
  • js数据类型:基本数据类型和引用数据类型(文章最下面会介绍各类型的基础以及注意事项) 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象 当我们把变量赋值给一个变量时,解析器首先要确认...
  • js的基本数据类型和引用数据类型 js的六大数据类型 Number, String, Boolean, Undefined , Null , Object 基本数据类型:Number,String,Boolean, Null 引用数据类型:Object , Array, Function 如何...
  • Java数据分为基本数据类型和引用数据类型.其中基本数据类型有4类8种. 基本数据类型:类似于普通的值 引用数据类型:传递的是内存的地址 对于引用类型来说,声明只会分配一个引用,指向null, 当你想使用的时候不能...
  • Web全栈~12.引用数据类型

    千次阅读 多人点赞 2021-01-14 10:45:34
    引用数据类型 上一期        引用类型的值(对象)是引用类型的一个实例。在JavaScript中,引用类型是一种数据结构,用于将数据和功能组织在一起。它也常被称为类,但这种称呼并...
  • 1、基本数据类型和引用数据类型  ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型。  基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象。  当我们把变量赋值给一个变量时...
  • 如果final修饰的是一个基本数据类型的数据,一旦赋值后就不能再次更改,那么,如果final是引用数据类型了?这个引用的对象能够改变吗?我们同样来看一段代码。 public class FinalExample { //在声明final实例...
  • Java中的数据类型分为两大类,基本数据类型和引用数据类型 一、数据类型二、基本数据类型和引用数据类型的区别
  • 我理解的js基本数据类型和引用数据类型 js是弱类型语言:变量的值决定变量的类型 js的基本数据类型,有五大类:string,number,boolean,null(值为空),underfind(变量不存在);引用数据类型:function,object,arr...
  • 基本数据类型:变量名指向具体的数值引用数据类型:变量名指向存数据对象的内存地址,即变量名指向hash值 二、从内存构建方面来说 基本数据类型:变量在声明之后java就会立刻分配给他内存空间 引用数据类型:它...
  • 引用数据类型: 类、接口类型、数组类型、枚举类型、注解类型;   基本数据类型和引用数据类型的区别: 基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上; 引用数据类型在被创建时,...
  • java中键值对数据类型属于引用数据类型吗,可以进行加减乘除操作吗
  • 引用数据类型{类【class】;接口【interface】;数组【[ ]】} 两种不同数据类型的区别: 基本数据类型:变量存储在栈中;栈的特点是存储空间小,但是存取速度快 引用数据类型:变量存储在堆中...
  • 2.引用数据类型包括:对象. 数组. 函数 3.存储位置不同:原始数据类型存储在栈中,占据空间小,大小固定,属于频繁使用数据。引用数据类型存储在堆中,占据空间大,大小不固定。 4.传值方式不同:基本数据类型按值...
  • 引用数据类型的定义 在Java中,除了基本数据类型的变量以外,其余的全都属于引用数据类型, 包括 *API中的类,如String、File等 *数组 *自定义的类,如Cars、Student *对象全部是引用数据类型 String类中提供...
  • 一、JavaScript里有哪些数据类型,解释清楚null 和undefined,解释清楚原始数据类型和引用数据类型。比如讲一下1 和Number(1)的区别 数据类型:  undefined,没有定义数据类型  number,数值数据类型,例如10...
  • 基本数据类型数组:  其中存储的元素为基本类型... 引用数据类型的数组使用规定长度的方式进行初始化时,默认值为null。  如:Cell[] cs = new Cell[10];  cs中存有数组对象的地址,此对象中有10个null。 ...
  • 二是引用数据类型 基本数据类型指的是简单的数据段;而引用数据类型指的是由多个值构成的对象 基本数据类型:字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefi...
  • 形式参数:用于接收实际数据的变量实际参数:实际参与运算的变量方法的形式参数是基本数据类型图解方法的形式参数是引用数据类型图解总结:形参是基本数据类型,形参不改变实参,形参是引用数据类型,形参改变实参。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 74,278
精华内容 29,711
关键字:

引用数据类型