原始types和引用types有什么区别?
这是一个过去的考试问题,我想知道什么是原始types和参考types是第一次? 对于一个数组我知道引用types是数组由对象或variables组成的地方,但是一个基本types就是用int或者string创build数组的地方。 (对?)
你如何认为你会回答testing的问题,并获得良好的信誉? 没有真正直接指向一个原始的ARRAYtypes…有没有办法做到这一点没有? 或者你认为只用数组解释就可以了。
这些是Java中的基本types:
- 布尔
- 字节
- 短
- 烧焦
- INT
- 长
- 浮动
- 双
所有其他types都是引用types:它们引用对象。
这是关于该语言基础的Java教程的第一部分。
从书OCA JAVA SE 7
就像男人和女人有着根本的不同(根据“火星男人”的作者约翰·格雷(John Gray),“女人来自金星”),原始variables和客体参考variables以多种方式相互不同。 基本的区别在于原始variables存储实际值,而参考variables存储它们引用的对象的地址。 假设一个Person类已经被定义了。 如果你创build一个intvariablesa和一个对象引用variablesperson,他们将把它们的值存储在内存中,如图2.13所示。
int a = 77; Person person = new Person();
简而言之,在最底层我们有一组基本types,比如“byte,short,int,long,float,double,boolean,char”,引用types主要用于将原始types组合在一起。 所以你可以有一组int作为列表,string作为string,原语类等
另一个重要的因素是关于原始types持有值和引用持有地址。
int item = 3; int item2 = item;
使item2仍然保持一个值3。 但供参考types说
Point p = new Point(1.0, 2.0); Point q = p;
q将保持对象p的地址,在VM中它仍然是一个点。 类似的,地址被传递给引用types的方法,而值将被传递给原始types。 大多数其他差异也与价值和地址相关联。
这些是原始数据types
- 布尔
- 字符
- 字节
- 短
- 整数
- 长
- 浮动
- 双
另一方面保存在被pipe理存储器的存储器中的堆栈中存储的对象数据types或存储在由GCpipe理的存储器中的头部的引用数据types
这是最重要的区别
原始数据types:
- 由语言预定义并由关键字命名
- 总数= 8
布尔
烧焦
字节
短
整数
长
浮动
双
参考/对象数据types:
- 使用定义的类的构造函数创build
- 用于访问对象
- 任何引用variables的默认值为null
- 引用variables可用于引用声明types或任何兼容types的任何对象。
简单的答案是基元是数据types,而引用是指针,它们不保存它们的值,而是指向它们的值,并用于/与对象。
Primatives :
布尔
字符
字节
短
整数
长
浮动
双
很多很好的参考资料可以解释这些基本概念。 http://www.javaforstudents.co.uk/Types
原始人与参考文献
第一: –
原始types是数据的基本types: byte
, short
, int
, long
, float
, double
, boolean
, char
。 基元variables存储基元值。 引用types是任何可实例化的类以及数组: String
, Scanner
, Random
, Die
, int[]
, String[]
等。引用variables将地址存储到内存中用于存储数据的位置。
第二:-
原始types存储值,但引用types存储句柄到堆空间中的对象。 请记住,引用variables不是像在C和C ++中可能看到的指针,它们只是对象的句柄,以便您可以访问它们并对对象的状态进行一些更改。
阅读更多: http : //javarevisited.blogspot.com/2015/09/difference-between-primitive-and-reference-variable-java.html#ixzz3xVBhi2cr
- Java有八种基本types:int,double,float,long,short,byte,char,boolean。 这意味着程序员不能定义新的原始types。
- 引用types是用户定义的,所以它们的数量是无限的。 4个基本的引用types是:类,接口,数组,枚举。
- 原始types代表单个值。 引用types聚合types,它们保存零个或多个原始值或对象。
- 原始types需要一到八个字节的内存。 当原始值存储在variables中或传递给方法时,计算机会复制字节并保存值。 另一方面,对象可能需要更多的内存。