javase-函数(方法)

来源:互联网 发布:2016年nba总决赛g4数据 编辑:程序博客网 时间:2024/06/05 15:26

一.函数的作用

1.定义功能

2.提高代码的复用性

二.return

结束当前函数。

三.函数重载

1.在一个类中,函数名相同,但形参个数、形参顺序,形参数据类型 这三个至少有一个不同,叫做函数重载。

2.如果只有返回值不同,其他都相同,会出错,因为不知道调用的哪个函数。

四.函数重写

1.只有继承的时候才会有重写。

2.重写时返回值的类型,方法名和形参必须相同。

3.重写时,子类的访问权限必须 >= 父类的访问权限。

4.static方法不能重写。

五.可变参函数

1.格式:(数据类型...参数名n)

相当于一个n的数组。

2.可变参必须位于参数表的最后。

/** * date:2017年6月22日15:48:34 * targer:可变参 * @author ypy */public class ChangeParameter {public static void main(String[] args){System.out.println(add(1,2,3,4,5,6,7,8,9,10));}//相当于一个n的数组//可变参必须位于参数表的最后public static int add(int...n){int sum = 0;for (int i=0; i<n.length; i++) {sum += n[i];}return sum;}}/*****************JDK1.8运行结果****************55 */


六.执行方法的过程

例:int sum = add(m,n);

1.


2.


3.

匹配add方法

(1).检查add是否有定义,由于add传递的参数是两个整数,接受的返回值类型是一个int类型的变量,所以,会在文件中查找类似的方法 int add(int a, int b) 的方法定义(只检查方法定义,不检查方法实现),找不到就报错。

(2).找到add的修饰符,根据修饰符判断是否可以调用这个方法,不能调用就报错。

(3).在方法区中找到这个方法并开始执行。


在这里修改a和b的值就跟m和n无关了,在方法中修改a和b的值不会对m和n产生任何影响。

计算结束后,会将计算结果复制一份传递给sum,

这里的第一步叫做方法的参数传递过程。也叫作传值调用。

4.

add方法调用完毕以后,栈区会进行清场。

所有和add运算相关的数据全部被清除。