值传递机制及几道网红题目

一,可变个数的形参:

JavaSE 5.0 中提供了Varargs(variable number of arguments)机制,允许直接定义能和多个实参相匹配的形参。从而,可以用一种更简单的方式,来传递个数可变的实参。
JDK 5.0以前:采用数组形参来定义方法,传入多个同一类型变量 public static void test(int a ,String[] books);

JDK5.0:采用可变个数形参来定义方法,传入多个同一类型变量 public static void test(int a ,String…books);

1.格式:数据类型 ...变量名

2. 可变参数:方法参数部分指定类型的参数个数是可变多个:0个,1个或多个;

3. 可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载;

4. 可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载,换句话数,二者不能共存;

5. 方法的参数部分有可变形参,需要放在形参声明的最后;

6. 在一个方法的形参位置,最多只能声明一个可变个数形参;
二,方法参数的值传递机制:

Java的实参值如何传入方法呢? Java里方法的参数传递方式只有一种:值传递即将实际参数值的副本 (复制品)传入方法内,而参数本身不受影响。

①形参是基本数据类型:将实参基本数据类型变量的“数据值”传递给形参;

②形参是引用数据类型:将实参引用数据类型变量的“地址值”传递给形参;

示例:

图示:

 

三道易出错题目:

 

 

原文地址:https://www.cnblogs.com/boogie-xy/p/11528477.html