再谈java两种变量(基本类型和引用类型)(综合各路大神)
来源:互联网 发布:黑泽朋世 知乎 编辑:程序博客网 时间:2024/06/06 00:58
基本类型:
基本类型自然不用说了,它的值就是一个数字,一个字符或一个布尔值。
int a;
a=250; //声明变量a的同时,系统给a分配了数据空间。
引用类型:
是一个对象类型,值是什么呢?它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。
引用类型就不是了,只给变量分配了引用空间,数据空间没有分配,因为谁都不知道数据是什么,整数,字符?我们看一个错误的例子:
MyDate today;
today.day = 4; //发生错误,因为today对象的数据空间未分配。
那我们怎么给它赋值?引用类型变量在声明后必须通过实例化开辟数据空间,才能对变量所指向的对象进行访问。举个例子:
MyDate today; //将变量分配一个保存引用的空间
today = new MyDate(); //这句话是2步,首先执行new MyDate(),给today变量开辟数据空间,然后再执行赋值操作
//引用变量赋值
MyDate a,b; //在内存开辟两个引用空间
a = new MyDate(); //开辟MyDate对象的数据空间,并把该空间的首地址赋给a
b = a; //将a存储空间中的地址写到b的存储空间中
一 引用变量: 1.
int a=1;
int &b=a;这里变量b称作是对变量a的引用(c语言中)
2. 而当变量指向一个对象时,这个变量就被称为引用变量(java中)
比如A c=new A();
c就是引用变量,它指向了一个A对象,也可以说它引用了一个A对象。我们通过操纵这个a来操作A对象。 此时,变量a的值为它所引用对象的地址
二:引用变量(对象)的地址问题
void func()
{
Object obj = new Object();//这个obj在函数的栈里。
}
class Test
{
private Object obj = new Object();//这个obj随对应的Test对象分配在堆里
}
对于方法中局部变量的引用存储在java运行时数据区的栈中,而对于实例变量则存储在java运行时数据区的堆中。
引用放在栈中,具体的对象放在堆里
- 再谈java两种变量(基本类型和引用类型)(综合各路大神)
- Java 提供两种不同的类型:引用类型和原始类型(或内置类型)
- JAVA基础 引用类型变量和基本类型变量
- Java基础-基本类型变量和引用类型变量
- Java中的基本类型和引用类型变量的区别
- java final 与引用类型变量和基本类型区别
- Java中的基本类型和引用类型变量的区别
- Java 中基本类型 和 引用类型 变量的区别
- Java中的基本类型和引用类型变量的区别
- Java中的基本类型和引用类型变量的区别
- Java中的基本类型和引用类型变量的区别
- 全新java初学者实践教程5(Java SE5.0版)基本类型变量和引用类型变量
- 基本类型和引用类型变量
- 基本变量类型 和引用类型 知识点
- 【Java】基本类型和引用类型(值传递)
- Java基本类型和引用类型(参数传递)
- Java基本类型和引用类型(转)
- ECMAScript 变量可能包含两种不同数据类型的值:基本类型值和引用类型值。
- sed命令详解
- 前端开源项目周报0307
- Spring Boot + JSP(官方不推荐)
- iOS通讯录&第三方框架介绍
- 如何旋转PDF文件中的某一个页面
- 再谈java两种变量(基本类型和引用类型)(综合各路大神)
- Always On Top
- java网络编程____UDP入门小demo
- u3d美术制作规范总结
- Android反射机制(一)
- C++ 基础(五) —— 语句
- Paas SaaS
- 实现iOS前台时的推送弹窗效果
- 重新解读剑指Offer之3题 二维数组查找续