1:函数的定义。
函数可以帮助我们把功能性,逻辑性的代码进行封装,从而实现重复调用,提高了程序的复用性和效率。
2:定义函数的格式。
权限修饰符 类型修饰符 返回值类型 函数名 (参数类型 参数1,参数类型,参数2,…参数类型,参数n)
//public static void add(int a,int b,…int n)
{
执行语句;
return 返回值;
}

1)函数名:函数的名字,一定要按照命名规范起名,表明函数的作用。

2)返回值:表示这个函数运行后最后的结果。

3)返回值类型:取决于返回值的类型。

①public static int add(int a,int b);//有参数有返回

②public static void add(int a,int b);//有参数无返回

③public static int add();//无参数有返回

④public static void add();//无参数无返回

无返回值的函数 只能调用 不能打印、赋值、运算

有返回值的函数 除了调用 参与打印、赋值、运算

4)return:表示将返回值返回的动作,会把返回值返回到调用者,同时还能结束函数功能。

5)参数列表(小括号中的内容):定义这个函数所需要的参与运算的未知数据,并且每一个数据都要有相应的数据类型,可以理解为变量。

6)修饰符:修饰这是个什么样的函数,可以有多个修饰符。

①权限修饰符public,protection,默认private

②类型修饰符static,默认 native synchronized

7)函数体:函数运行的主体部分,以大括号表示作用范围。

3:实参与形参。

实际参数:实际传递给函数的数据 可以是变量 也可以是常量。

形式参数:用于接收调用者传递来的数据,形式参数使其所属函数的局部变量。

4:栈。

函数的运行时基于栈的栈内存,函数运行叫作函数入栈,函数结束叫作函数出栈。

局部变量:在函数中定义的变量,随着函数进栈而存在, 随着函数出栈而消亡。

5:函数的重载。

1)表面上来看:一个类中有若干个重名函数

重载和函数的权限修饰符有关系没?

没关系 public private protected

2)重载和函数的类型修饰符有关系没?


3)重载和函数的返回值类型有关系没?


和计算结果的类型有关:

public static int add(double a,double b);return(a+b);

错误//a+b是double,返回类型是int。

4)和函数名有关系吗?

有 前提重名

5)和函数的参数列表有关系没?

参数名没关系 和类型有关系

目前而言,重载的前提是函数重名。

6:重载关系。

具体到底是不是重载关系 看参数类型的排列组合(个数,顺序)

public static void add(double,double)

public static void add(int,int)

public static void add(int,double,int)

public static void add(double,int,int)

public static void add(int,int,double)

以上函数满足条件时同时存在可重载。

重载题示例。

java 重载返回值一样吗 java重载函数返回值_修饰符


程序

java 重载返回值一样吗 java重载函数返回值_权限修饰符_02


输出结果

java 重载返回值一样吗 java重载函数返回值_Javase_03