java中的 引用类型 是什么样的类型,详细介绍一下!

来源:百度知道 编辑:UC知道 时间:2024/05/31 08:27:14

参数是引用型 即对象 其“传值”传递的是对象的引用。

String str=new String();
str 是引用类型,在栈中。
new String();是实类型,在堆中!
java中还可以

List list=new ArrayList();
很有讲究的,list调方法的时候是调的实际类型ArrayList的方法!

Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。另外,Java 还为每个原始类型提供了封装类(Wrapper)。 如果需要一个整型变量,是使用基本的 int 型呢,还是使用 Integer 类的一个对象呢?如果需要声明一个布尔类型,是使用基本的 boolean,还是使用Boolean 类的一个对象呢?本文可帮助您作出决定。
下面列出了原始类型以及它们的对象封装类。
原始类型 封装类
boolean Boolean
char Character
byte Byte
shortShort
int Integer
long Long
float Float
double Double

引用类型和原始类型的行为完全不同,并且它们具有不同的语义。例如,假定一个方法中有两个局部变量,一个变量为 int 原始类型,另一个变量是对一个 Integer 对象的对象引用:

int i = 5; // 原始类型
Integer j = new Integer(10); // 对象引用

这两个变量都存储在局部变量表中,并且都是在 Java 操作数堆栈中操作的,但对它们的表示却完全不同。(本文中以下部分将用通用术语堆栈代替操作数堆栈或局部变量表。)

原始类型 int 和对象引用各占堆栈的 32 位。(要表示一个 int 或一个对象引用,Java 虚拟机实现至少需要使用 32 位存储。)Integer 对象的堆栈项并不是对象本身,而是一个对象引用。Java