Java 中基本类型 和 引用类型 变量的区别
来源:互联网 发布:棋盘覆盖算法 编辑:程序博客网 时间:2024/05/22 14:01
一。基本概念java 中的 数据类型 分为两大类: 基本数据类型 和 引用数据类型基本数据类型 : 数值型,浮点型, 字符型 和 布尔型。 它的 值 是一个数字,一个字符或一个布尔值。引用数据类型 : 类,接口类型,数组类型, 枚举类型, 注解类型。 是一个 对象类型,它的 值 是 指向内存空间的引用,就是 地址,所指向的内存中保存着变量所表示的一个值或一组值。 二。 区别 ----- 存储方式1. 基本类型变量 声明 时,系统直接给该变量 分配空间,因此程序中可以直接操作 eg. int a; 声明变量a的同时,系统给a分配了空间, 故 可直接 赋值 a = 5;2. 引用类型(或称为引用型)变量声明时,只 给该变量分配 引用空间, 数据空间 未分配。因此 引用型变量声明后 不能直接引用,必须通过 实例化 开辟数据空间,才能对变量所指向的对象进行访问
eg. MyDate today = 14; // 错误!因为today对象的数据空间未分配MyDate today = new MyDate( 14 ); 正确! 首先执行 new MyDate()给today变量 开辟 数据空间,然后再执行 赋值 操作3. 案例分析 申明一个类 MyDate,其中有属性day,mouth,year等,有构造方法(带参数),为其创建一个对象MyDate day = new MyDate(8,8,2017);在内存中的具体创建过程是: 1)首先在 栈内存 中为 day 分配一块 引用空间;4)调用构造方法,为三个属性赋值为8,8,2017;(注意这个时候day 与MyDate对象之间还没有建立联系)2)然后在 堆内存 中为 MyDate对象 分配一块空间,并为其三个属性设初值0,0,0; 3)根据类MyDate中对属性的定义,为该对象的三个属性进行赋值操作;5)将MyDate对象在堆内存中的地址,赋值给栈中的day ; 通过句柄 day 可以找到堆中对象的具体信息
阅读全文
2 0
- Java 中基本类型 和 引用类型 变量的区别
- Java中的基本类型和引用类型变量的区别
- Java中的基本类型和引用类型变量的区别
- Java中的基本类型和引用类型变量的区别
- Java中的基本类型和引用类型变量的区别
- Java中的基本类型和引用类型变量的区别
- java final 与引用类型变量和基本类型区别
- 66 Java final 修饰基本类型变量和引用类型变量的区别
- final修饰基本类型和引用类型变量的区别
- JS变量基本类型和引用类型的区别
- java中引用类型的变量和对象的区别
- Java中基本类型与引用类型的区别
- js中基本类型和引用类型的区别
- 基本类型和引用类型的区别
- 基本类型和引用类型的区别
- 引用类型和基本类型的区别
- 引用类型变量和非引用类型变量的区别
- JAVA基础 引用类型变量和基本类型变量
- 字符编码问题
- java .final finally 和 finalize的区别,,,,throws 和 throw 的区别,,,异常在继承中的特点
- PP代码生成器(一) 简介, 下载, 运行
- tensorflow 学习笔记5 结果可视化
- python爬虫学习第二天
- Java 中基本类型 和 引用类型 变量的区别
- list类的C++模板实现
- MySQL初探——安装及简单操作
- 数据类型
- System call return value
- minicom 安装调测
- Mysql数据库笔记
- Python循环
- 指数解读:恒生指数(Hang Seng Indexes)