Java中有8个基本类型, 而其他,包括数组,枚举和自定义类都是引用类型。
基本类型:
String aaa = "aaaaaa";
String bbb = aaa;
执行完后, 变量 bbb 会含有和aaa一样的值,而且在JVM中,会有2个独立的字符串变量"aaaaaa"。
Point aa = new Point();
Point bb = aa;
执行后,JVM只有一个Point对象, bb 也是指向这个内存区域的 。
所以,代码的测试结果:
String aaa = "aaaaaa";
String bbb = "bbbbbb";
List tlist = new ArrayList();
tlist.add(aaa);
tlist.add(bbb);
aaa = "111111";
bbb = "222222";
System.out.println(tlist.get(0));
System.out.println(tlist.get(1));
执行结果:
aaaaaa
bbbbbb
而
{
Point aa = new Point();
aa.changeValue(0, 1);
testChange(aa);
System.out.println(aa.x + "," +aa.y);
}
private static void testChange(Point aa){
aa.changeValue(3, 4);
}
class Point{
int x;
int y;
public void changeValue(int x , int y){
this.x = x;
this.y = y;
}
}
执行结果: 3,4
数组,枚举, 自定义类结果都是这个。
如果想通过复制的方法, 不改变原对象的值,可以使用 clone() 方法。
这个需要对象实现 Cloneable 接口。
数组类型可以直接调用这个 clone() 方法。
在引用传递中, 必须是有了确切的引用, (新建了对象, 初始化了值) , 复合类型的引用才会被传递到方法中去 . .
如果在方法中, 对象新建了值, 那么就会丢失原来的引用地址 . . . .
以HASHMAP 为例 :
public class Test {
public static void testMap(Map map){
//map = new HashMap(); 此时,对象的引用被修改了,外部方法将丢失它的值.
map.put("aaa", "ggg");
}
public static void main(String[] args){
System.out.println("Haha");
Map testMap = new HashMap();
testMap(testMap);
String a = testMap==null?"null":"have";
}
分享到:
相关推荐
Java 中的基本类型和引用类型变量的区别 Java 中的基本类型和引用类型变量是两个不同的概念,它们在内存分配、变量赋值和函数传递等方面有着本质的区别。 基本类型是 Java 中的八种基本类型,包括 byte、short、...
Java教程中的核心知识点主要涉及Java的基本数据类型、引用类型、常用包、对象的内存分配以及字符串操作。下面将对这些内容进行详细的阐述。 1. **基本数据类型与引用类型** - Java的基本数据类型包括布尔型`...
### 浅析Java引用类型和方法参数传递 #### 一、引言 在Java编程语言中,理解数据类型的处理方式对于编写高效、可维护的代码至关重要。本文将深入探讨Java中的引用类型及其如何影响方法参数的传递机制。通过具体实例...
本资源“JAVA数据类型思维导图”提供了一种直观的方式来理解和记忆Java中的数据类型,包括基本数据类型和引用数据类型。下面将对这两个主要的数据类型进行详细解释。 1. 基本数据类型(Primitive Data Types) - ...
在Java编程语言中,数据类型分为两种:基本数据类型(如int、char)和引用数据类型(如类、接口、数组)。而在Java持久化框架Hibernate中,这些数据类型需要与数据库中的字段类型进行映射,以便正确地存储和检索数据...
以上知识点涵盖了Java引用类型的基础概念和高级特性。在实际开发中,理解并熟练运用这些知识可以编写出高效、安全的Java代码。如果想要深入学习,可以查阅这13页的PDF文档,它可能会提供更具体的应用示例和实战技巧...
掌握Java中的基本类型和String类型对于编程至关重要。理解每种类型的特点、适用场景以及如何在不同类型间进行转换,能够帮助开发者写出更加高效、安全的代码。同时,熟练运用`String`类的各种方法,可以在处理文本...
Java中的数据类型分为两大类:基本数据类型和引用数据类型。 1. 基本数据类型包括布尔型(boolean)、字节型(byte)、短整型(short)、整型(int)、长整型(long)、字符型(char)、浮点型(float)和双精度浮点...
首先,Java 有两类数据类型:基本数据类型(如 int、char、float)和引用数据类型(如类、接口、数组)。基本数据类型是预定义的,它们的大小和值的范围是固定的。例如,`int` 在 Java 中占用 4 个字节,可存储 -2^...
Java编程语言中有两种基本的数据类型:原始类型(Primitive Types)和引用类型(Reference Types),它们在行为、存储和使用上存在显著的区别。 1. **原始类型(Primitive Types)**: - Java的原始类型包括布尔型...
Java是一种静态类型语言,它提供了8种基本数据类型,用于存储原始数据。以下是对Java基本数据类型的简要概述: 基本数据类型直接存储数据,不存储引用。 每种类型有固定的内存大小和取值范围。 它们具有默认值,未...
Java有两大类数据类型:基本数据类型(Primitive Data Types)和引用数据类型(Reference Data Types)。 - 基本数据类型包括:整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型...
在Java编程语言中,值类型和引用类型是两种基本的数据类型分类,它们在内存管理和数据处理上有显著的差异。理解这些区别对于编写高效且无错误的代码至关重要。 **值类型**,也称为基本数据类型,包括四类共八种:...
Java中的数据类型主要分为两大类:简单类型(也称为基本数据类型)和复杂类型。 ##### 1.1 数据类型的基本概念 数据类型是对内存位置的一种抽象表达方式。在Java中,数据类型是语言中最基本的单元定义,它们用来...
### Java基本类型数据 #### 一、概述 Java是一种广泛使用的面向对象的编程语言,它在设计时就考虑到了安全性、可移植性和易用性。Java语言中的数据类型分为两大类:基本数据类型(primitive data types)和引用...
- **包装类转换**:Java 提供了六个基本数据类型的包装类,用于在基本类型和对象之间转换。例如,`float f = 100.0f; Float F = new Float(f); Double d = F.doubleValue();` 2. **字符串与其他数据类型的转换** ...
在Java中,数据类型分为两大类:基本数据类型和引用数据类型。其中,基本数据类型又进一步分为数值类型、字符型和布尔型。 #### 二、Java数值类型 ##### 1. 取值范围 Java中的数值类型主要包括整数型和浮点型。每...
总而言之,Java数据类型、Hibernate映射类型和SQL数据类型之间的对应关系是Java开发者尤其是进行数据库交互的开发者必须掌握的基础知识。通过深入理解并熟练运用这些映射规则,我们可以更好地实现Java应用与数据库...
### Java中值类型和引用类型的区别 #### 值类型 1. **存储位置**:值类型通常被分配在栈上。当声明一个值类型变量时,实际的值会被直接存放在该变量的内存空间中。 2. **实例化**:值类型变量直接包含了实例的数据...