方法

方法的定义

方法的调用

方法的概念

  • 方法是解决一类问题的步骤的有序集合

  • 方法被包含在类中或对象里。

  • 方法的本质就是函数,一个方法完成一个功能,后期的扩展。

  • 静态方法(static)可以用类名来调用方法。如:One.add();

  • 非静态方法(实例化类来调用 new)

  • 静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁

//  方法的创建
修饰符 返回值类型 方法名(参数类型 参数名){
  方法体
  return 返回值;
}  

方法的使用(递归概念)

  • 方法自己调用自己。

  • 递归头:什么时候不调用自己。

  • 递归体:什么时候调用自己。

用递归求阶乘5!

递归用的自己调用自己时会创建栈,自己调用自己太多会导致内存崩溃。

public int f(int n){

    if(n == 1){
        return 1;
    }else{
        return n*f(n-1);
    }
} 

方法的参数

  • 形参(用于接收实参传递过来的)如:public int sum(int number)

  • 实参(实际给的值)如:类名.方法名(实参);

  • 命令行传参javac 编译好 , java 包名.Day02 参数

可变参数可变参数一个方法只能有一个,还必须在参数的最后。

public static int sum(int a,int... b){
        for (int i=0;i<b.length;i++) {
              // 通过b下标把可变参数的值取出。
             a += b[i];
        }
        return a;
    }

方法的重载(overload)

  • 参数数量不同

  • 参的类型不同

  • 参数顺序不同

方法重载必须是在同一作用域中

public int add(int a,int b){//一个类中有多个同名不同参数的方法
    return a+b;
}
public int add(int a,double b){//编译器根据传参的不同自动判断具体调用那个重载方法

    return a+b;
} 

值传递(String 和包装器类按值传递)

值传递的本质是赋值,是把实际参数赋值给行式参数的过程(形参改变实参不变

public static void main(String[] args){
    int a = 1;
    
    System.out.println(a); //结果为:1
    
    change(a);             //结果为11
    
    System.out.println(a); //结果为:1
}
public static void change(int a){
    a = 10;
    a++;
    
    System.out.println("change的a:"+a);
} 

引用传递

引用传递:是传递一个对象,本质还是值传递(形参改变实参改变

public class Asd{
    public static void main(String[] args){
        Person per = new Person();
        System.out.println(per.name); // 结果为:Null
        
        Asd.change(per);
        System.out.println(per.name); // 结果为:余
    }
    public void change(Person per){ //对象虚地址
        per.name = "余";
    }
}
class Person{
    String name;
} 
上一篇:Redis学习(三):高级教程


下一篇:G.8262 SyncE conformance testing