方法的重载、方法的可变个数的形参、方法参数的传递
重载的概念
在同一个类中,允许存在一个以上的同名的方法,只要它们的参数个数或者参数类型不同的话就行。
重载的特点
与返回值类型无关,只看参数列表,且参数列表必须不同。(参数个数、参数类型、参数排列顺序)
理解:就只要参数列表不要完全一样就行。和返回值类型无关。
方法的可变个数的形参
在遇到不知道要给方法传递多少个参数的时候就要考虑到使用可变个数的形参方式。比如统计一个钱包里装了什么东西,有的钱包可能只赚了钱,有的还会有卡,甚至还会在里面放照片。
可变参数:是指定部分类型的参数的个数可以变为多个,而不是也有可变的类型。
数组形参来定义方法:public static void test(int a,string[] args) 创建对象的时候要初始化值
以可变个数形参来定义方法:public static void test(int a,string... args) 创建对象的时候不必初始化值。
如果有多个类型的参数,可变参数一定要放在最后。
方法的参数传递
方法必须需要其所在类或对象调用才有意义。
形参:方法声明时的参数。
实参:方法调用时实际传递给形参的参数值
java的实参值是如何传入方法的呢?
java里方法的参数传递方式只有一种:值传递。就是将实际参数值的副本(复制品)传入方法内,而参数本身不受影响。
方法的参数传递
1、如果方法的形参是基本数据类型,那么实参(实际的数据)向形参传递参数时,就是直接传递值,把实参的值赋值给形参。
2、如果方法的形参是对象,那么实参(实际的对象),向形参传递参数时,也是把值给形参,这个值是实参在栈内存中的值,也就是引用对象在堆内存中的地址。
基本数据类型都是保存在栈内存中,引用对象在栈内存中保存的是引用对象的地址,那么方法的参数传递是传递值(是变量在栈内存当中的值)。