概念:由若干语句组成的一个可执行代码体
在面向对象的语言中叫方法,面向过程的语言中叫函数;
1.Java中的方法
实现特定功能的一段代码,可重复使用
方法定义在类中
- 一个类可以定义多个函数方法,方法之间属于并列,不可嵌套
- 一个方法(函数)只做一件事 减少代码陈余 提高代码可读性 提高代码复用性
语法:
public static viod demo(int i){
}
组成:
- public , static :修饰符 被static修饰的方法称为静态方法 静态方法中不能直接调用非静态方法及非静态成员变量
- void : 返回值 void表示不需要返回值
- demo : 方法名 方法标识符 命名规范: 首单词首字母小写,连接词首字母大写采用驼峰命名
- int i :形参列表 可以不传递参数,可以传递多个参数
- { } :大括号内是方法的主体
2.方法的调用
static 静态方法的调用
- 静态方法中只能调用静态方法
- 调用普通方法可以通过对象.方法名调用
- 在本类中直接通过方法名()调用
- 在其他类中可以通过类名.方法名进行调用
- 不建议通过对象调用
非静态方法的调用
- 非静态方法中可以调用静态方法
- 在其他类中需要通过对象.方法名调用
3.方法的参数
定义在方法中的参数称为形参,调用时传入的叫实参
- 形参可以放任意个参数
- 形参和实参的类型必须相同,
- 形参和实参的个数要一值且一一对应
- 定义方法的形参标识符与传入的实参标识符没有关系
- 参数的个数根据实际的业务需求确定
//形参
public void demo(int i, String str, double b){
}
public void demo1(){
//实参
demo(5,"字符串",1.23);
}
4.方法的返回值
返回值类型
基本数据类型
void:不需要返回值
引用数据类型
使用return关键字进行返回
public static void test(){
//不需要返回值
}
public ststic int test1(){
return 10;
//需要返回值 要与定义类型相同
}
- 定义了返回值,必须要返回对应类型的数据
- 每个出口都要有返回值,且每个出口只有一个返回值
- return是方法的出口,结束当前调用
5.方法的重载
定义:一个类中出现方法名称相同,参数类型或参数个数不同
public static void number(){
}
public static void number(int num1,int num2){
}
public static void number(int num1,int num2,int num3){
//参数个数不同
}
6.方法执行的顺序原理
当jvm执行某个方法时,会将这个方法放入栈中执行,当这个方法有调用了其他方法时,jvm就会将调用的方法也放入栈中,在已有的方法上面执行,当方法执行完毕后,jvm就会将方法从栈中移除,称为弹栈;
先进后出后进先出
7.递归
方法自己调用自己称为递归
无穷递归:
方法没有设置正确的出口形成无穷递归,会抛出内存溢出异常
public class WuQiong {
public static void main(String[] args) {
wuqiong();
}
public static void wuqiong (){
System.out.println("1111");
wuqiong();
}
}