public class Test {
HashMap<Integer, String> names = new HashMap<Integer, String>();
private static User user = new User("aa");
public static void main(String[] args) {
User userB = user;
User userC = new User("bb");
//user.setName("new_aa");
user = userC;
System.out.println(userB.name);
}
}
class User {
String name;
User(String _name) {
name = _name;
}
public void setName(String _name){
name = _name;
}
}
引用的指针只是起着一个指示的作用。指针不能指向另外一个指针,它们只能指向一个内存空间。
看上面的demo,User userB = user;指代的是userB指向new User("aa")这个对象,而代码后面
user = userC代表user指向了new User("bb");而对userB而言,它还是一直指向new User("aa");
因而最后System.out的结果还是“aa”
分享到:
相关推荐
"Java 程序设计期中考试测试题含答案" 本文档提供了 Java 程序设计期中考试测试题,包括选择题、填空题和编程题。测试题涵盖了 Java 基础知识点,包括 Java 源程序编译、变量、数据类型、运算符、控制语句、方法、...
以下是基于描述中提及的“java考试要点”和文件名可能涉及的一些核心Java知识点: 1. **基础语法**:包括变量、数据类型(基本类型与引用类型)、运算符、流程控制(条件语句、循环语句)、方法的定义和调用。 2. ...
在Java 8中,匿名内部类、Lambda表达式和方法引用是重要的新特性,它们极大地简化了代码,提升了代码的可读性和效率。下面将详细探讨这三个知识点,并结合提供的测试用例进行分析。 1. **匿名内部类**: 匿名内部类...
12. 在 Java 中,使用 == 运算符比较字符串是否相等,只比较引用是否相同,而不比较字符串的内容。使用 equals() 方法比较字符串的内容。 13. 在 Java 中,if 语句可以嵌套使用,else 语句可以与最近的一个 if 语句...
JUnit是一个用于编写和运行Java单元测试的开源框架,它是Java开发中不可或缺的一部分,尤其是在实施持续集成和敏捷开发时。这个压缩包提供的是JUnit 4系列,这是一个广泛使用的测试框架,它为开发者提供了编写简洁、...
JUnit,作为Java编程语言的事实上的标准测试框架,其在软件开发中的重要性不容忽视。由著名程序员Kent Beck和Erich Gamma发起,JUnit以其简洁而强大的功能,极大地推动了Java开发中的自动化测试实践。Martin Fowler...
*JAVA 中的变量可以是基本数据类型(primitive types)或引用类型(reference types) *基本数据类型包括整数(int)、浮点数(float)、字符(char)等 *引用类型包括数组、字符串、对象等 二、运算符 *JAVA 中的...
下面将详细解释循环单链表的原理、如何在Java中实现以及如何进行测试。 首先,理解循环单链表的基本概念: 1. **节点结构**:每个节点包含两部分,一部分是存储数据的变量(如`data`),另一部分是指向下一个节点...
在本项目中,"java 小游戏 趣味测试" 是一个基于Java编程语言开发的趣味测试应用。这个小游戏旨在提供一种娱乐方式,通过一系列问题来评估用户的性格、人际关系以及智力等方面。开发者可能以此作为学习Java编程和...
Java单元测试是软件开发过程中的重要环节,它用于验证代码的独立模块是否按预期工作。在Java中,我们经常使用JUnit和Hamcrest这两个库来进行单元测试。这两个jar包——junit-4.12.jar和hamcrest-core-1.3.jar,正是...
Java线程安全是多线程编程中的一个关键概念,它涉及到多个线程访问共享资源时可能出现的问题。在Java中,线程安全问题通常与并发、内存模型和可见性有关。Java内存模型(JMM)定义了如何在多线程环境下共享数据的...
本篇将详细讲解如何在Java中引用用于处理JSON的jar包,以及其相关知识点。 首先,JSON(JavaScript Object Notation)是一种简洁且易于人阅读和编写的数据格式,同时也易于机器解析和生成。它能很好地替代XML作为...
【JAVA编程基础与测试题解析】 1. `javac` 和 `java` 命令在JAVA编程中的作用: `javac` 是JAVA编译器,它将JAVA源代码文件(扩展名为`.java`)编译成字节码文件(扩展名为`.class`)。而`java`命令则用于执行编译...
`JNIEnv *env`指向一个指针,包含了所有JNI函数的指针,`jobject thisObj`是Java对象的引用。 3. **编译C++代码为动态库:** 使用C++编译器(如g++)将源代码编译为DLL。在Windows上,这可能看起来像这样: ``` ...
下面将深入探讨在Java基础测试中常见的异常问题及其解决方案,尤其关注那些在执行基本Java程序时可能遇到的异常情况。 ### 1. "java' is not recognized as an internal or external command 这种情况通常发生在...
Java面试知识点: 1. **Java基础**:包括Java语法特性...以上是根据提供的标题和描述,结合标签内容整理出的Java、C++和软件测试的主要面试知识点。对于每个知识点,都需要深入理解并能够实际应用,以提高面试成功率。
【Java测试试题解析】 1. Switch语句中的表达式类型:在Java中,Switch语句的表达式可以是byte, short, char, int,枚举类型(Java 5及以上版本)以及String(Java 7及以上版本)。根据题目,表达式不能是float类型...
在Java应用中直接调用Kettle,可以实现更灵活的ETL流程控制和自动化。 为了在Java中调用Kettle,首先需要获取相关的jar包。这些jar包通常包含在Kettle的lib目录下,包括`pentaho-kettle`核心库和其他依赖库。确保...
4. 测试驱动开发:重构前后的测试是确保重构安全的关键,书中可能强调如何编写单元测试,以及如何在重构过程中使用测试作为保护伞。 其次,关于“Java 8”的内容,Java 8是Java历史上一个重要的版本,引入了许多...