方法:实现具体功能的代码段 能够提高代码的复用性

方法要定义在类中方法外,方法不能嵌套

1 定义语法

有返回值类型

修饰符 返回值类型 方法名([参数列表]){

具有某些功能的代码块;

return 返回值;

}

修饰符

返回值类型

方法名

()->参数列表

参数列表可以定义,可以不定义

参数可以存在0个,可以存在多个

格式为(数据类型 参数名1,数据类型 参数名2,...) eg:(int a , int b)

return

return必须存在且后面必须有返回值

没有返回值类型的方法

修饰符 void 方法名([参数列表])){

方法体语句;

[return;]

}

void : 没有返回值

return : 提前结束方法

2 调用语法

直接调用: 方法名();

赋值调用: 返回值类型 变量名= 方法名();

输出调用: System.out.println(方法名());

3 参数

形式参数:形参 :方法定义的时候()中的参数

实际参数:实参 :方法调用的时候()中的参数

个数,顺序,数据类型

数据兼容

4 重载

同一个类中 多个相同方法名 具有不同的参数列表(个数 类型 顺序)

方法签名不同: 方法名+参数列表 ->方法的唯一标识

其中:

方法的重载和方法的修饰符无关

方法的重载和方法有没有返回值类型无关

方法的重载和方法返回值类型无关

方法的重载和方法参数名无关

5 return

对于有返回值类的方法 return的作用是 结束方法 带出返回值

对于无返回值类的方法 return的作用是 结束方法

6 递归

自己调用自己

临界条件 让递归停下来的条件

递归前进段 到临界条件之前一直自己调用自己

递归后退段 到达临界条件之后,把结果返回给上一层

public class T1 {

public static void main(String[] args) {

System.out.println(rec(3)); //引用方法

}

public static int rec(int n){

if(n==1){ //临界条件

return 1; //临界返回值

}

return n*rec(n-1); //递归体

}

}




java返回一个不确定的对象 java返回值不同算重载吗_方法名


7 方法的内存分析

JVM的内存分析


java返回一个不确定的对象 java返回值不同算重载吗_方法重载返回值类型可以不同吗_02

JVM的内存分析


方法调用的内存分析


java返回一个不确定的对象 java返回值不同算重载吗_方法名_03

方法调用的内存分析