Java教程

018Java面试003值传递

本文主要是介绍018Java面试003值传递,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1 基本类型

测试代码如下:

1 public static void main(String[] args) throws Exception {
2      int age = 18;
3      changeAge(age);
4      System.out.println(age);// 18
5 }
6 
7 public static void changeAge(int age) {
8      age = 99;
9 }

基本类型的参数传递的是值,在方法中被修改不影响原参数。

2 String类型

测试代码如下:

1 public static void main(String[] args) throws Exception {
2      String name = "abc";
3      changeName(name);
4      System.out.println(name);// abc
5 }
6 
7 public static void changeName(String name) {
8      name = "123";
9 }

String类型的参数传递的是值,在方法中被修改不影响原参数。

3 引用类型

测试代码如下:

 1 public static void main(String[] args) throws Exception {
 2      Person person = new Person();
 3      person.id = 5;
 4      changePerson(person);
 5      System.out.println(person.id);// 8
 6 }
 7 
 8 public static void changePerson(Person person) {
 9      person.id = 8;
10 }

引用类型的参数传递的是引用地址值,在方法中被修改会影响原参数。

但是,如果在方法中创建了新的对象,然后将新对象的引用地址赋值给了参数,那么原参数就不会收到影响了。

 

这篇关于018Java面试003值传递的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!