# 引用类型值传递(一)
---
## 问题
下面程序片段输出的结果是什么?
```
public class Test {
public static void main(String[] args) {
Integer i = new Integer(1000);
add100(i);
System.out.println(i.intValue());
}
private static void add100(Integer i) {
int val=i.intValue();
val+=100;
i =new Integer(val);
}
}
```
## 结果
1000
## 结论
#### Java 语言中,进行值传递的时候,引用类型传递的是虚地址。题目中重新创建了一个Integer对象,产生新的虚地址,对main方法中的值没有改变。
#### intValue()方法是指调用虚地址所引用的具体值。
- 操作说明
- ReadMe
- 第1部分 Java 基础编程
- 第01章 Java 语言概述与开发环境搭建
- 第02章 面向对象编程概念
- 第03章 数据类型与运算符
- 第04章 流程控制
- 第05章 数组
- 第06章 Java 面向对象
- 第07章 Java 基础类库
- 第08章 Java 集合
- 第09章 Java 输入\输出
- 第10章 多线程
- 第11章 网络编程
- 第12章 异常处理
- 第13章 JDBC 编程
- 第14章 Annotation(注释)
- 第15章 泛型
- 第16章 类加载机制与反射
- 第2部分 Java 高级特性
- 第01章
- 第3部分 Java 知识点辨析
- 1.(1-12=12):String类和String的比较
- 01.用==比较String
- 02.String用=赋值
- 03.用equals方法比较String
- 04.如何判断一个String不是空值
- 05.字符串的不可变性
- 06.字符串与基本数据类型的转换
- 07.使用new创建字符串对象
- 08.用==比较字符串常量
- 09.把基本数据类型转换成String
- 10.如何比较String的字典顺序
- 11.String与StringBuffer的区别
- 12.StringBuffer与StringBuilder的区别
- 2.(13-20=8):修饰符与运算符
- 01.private修饰符
- 02.do-while及++
- 03.?:=操作符
- 04.float与double
- 05.用==比较基本数据类型
- 06.char存储中文
- 07.逻辑与运算符
- 08.以为运算符
- 3.(21-27=7):运算符、语法相关
- 01.或运算符
- 02.异或运算符
- 03.用==比较
- 04.if/else 分支语句
- 05.switch语句
- 06.switch的变量类型
- 07.循环中的break和continue
- 4.(28-41=14):面向对象辨析
- 01.引用类型值传递(一)
- 02.引用类型值传递(二)
- 03.基本数据类型值传递
- 04.static方法
- 05.static属性
- 06.final属性
- 07.默认构造方法
- 08.单继承特性
- 09.this关键字的作用
- 10.静态方法中的this
- 11.方法重载
- 12.继承中的构造方法(一)
- 13.继承中的构造方法(二)
- 14.继承中的构造方法(三)
- 5.(42-59=18):面向对象相关
- 01.方法覆盖(一)
- 02.方法覆盖(二)
- 03.父类引用指向子类对象(一)
- 04.父类引用指向子类对象(二)
- 05.super关键字(一)
- 06.super关键字(二)
- 07.抽象类
- 08.抽象方法
- 09.抽象类与抽象方法的关系
- 10.final类
- 11.final方法
- 12.Object类(一)
- 13.Object类(二)
- 14.继承与关联
- 15.接口的概念
- 16.抽象类与接口的区别
- 17.extends与implements
- 18.接口作为引用类型
- 6.(60-67=8):数组
- 01.数组的声明与赋值
- 02.数组的长度
- 03.二维数组的长度
- 04.使用增强for循环迭代数组
- 05.二维数组
- 06.数组的类型
- 07.对象型数组
- 08.数组排序
- 7.(68-83=16):异常处理
- 01.Exception与Error的区别
- 02.多个catch语句
- 03.finally语句
- 04.运行时异常
- 05.空指针异常
- 06.运行时异常的具体类
- 07.checked与unchecked异常
- 08.try、catch、finally(一)
- 09.try、catch、finally(二)
- 10.try、catch、finally(三)
- 11.finally与return
- 12.throw与throws
- 13.异常只能被捕获一次
- 14.throw与throws的应用
- 15.自定义异常
- 16.继承中的异常
- 8.(84-92=9):集合
- 01.Collection与Map
- 02.Collection与Collections的区别
- 03.Set与List的区别
- 04.ArryList与LinkedList
- 05.ArryList与Vector
- 06.HashMap与Hashtable
- 07.泛型集合
- 08.HashSet与TreeSet
- 09.HashMap与TreeMap
- 9.(93-100=8):多线程
- 01.Math类(一)
- 02.Math类(二)
- 03.Math类的random方法
- 04.Thread的实现方式
- 05.多线程共享数据
- 06.synchronized
- 07.join方法
- 08.线程间通讯
- 附录 1 面向对象
- 1 面向对象概述
- 1.1.对象的概念