java方法的基本使用

java方法

我们书写的代码常常有着成千上万行,如果全部混在一起显得杂乱无比

所以java提供了方法

方法的性质

java方法是语句的集合,方法中包含若干代码,一起执行一个命令

方法的意义:

  • 方法是解决一类问题的有序组合
  • 方法包含于类或对象中
  • 方法在程序中被创建,在其他方法中被调用
  • 方法具有原子性,每个方法只为了一个任务,一个方法只负责一个功能

main方法和其他方法

方法分为main方法和其他方法

main方法是由系统调用的方法,我们常常在main方法中调用其他方法来构建整个框架

其他方法是由我们书写,为了实现某个目的而建立

方法创建的标准化

java中的方法类似于c中的函数

方法包含一个方法头,一个方法体

修饰符 返回类型 方法名(参数类型 参数名){
    ......
    方法体
    ......
        
    return;
}

下面书写一个比较函数作为例子:

//public static 为修饰符
//int 为返回类型
//max 为函数名
//num1,num2为参数
public static int max(int num1,int num2){
        int result = 0;

        if(num1 == num2){
            System.out.println("a=b");
            return 0;
        }

        if(num1>num2){
           result = num1;
        }else{
            result = num2;
        }

        return result;
}

方法调用的标准化

当方法为static时:(相当于方法和类一同加载)

public static int max(int num1,int num2)

直接在主函数中调用即可:

public class Demo {
    public static void main(String[] args) {
        int max = max(20,20);
        System.out.println(max);
    }
}

当方法不为static时:(相当于类实体化后方法才加载)

public int max(int num1,int num2)

需要在主函数中提前声明对象,才可采用对象的方法:

public class Demo {
    public static void main(String[] args) {
        Demo demo = new Demo()
        int max = demo.max(20,20);
        System.out.println(max);
    }
}

方法重载

在一个类中有着相同名字但不同参数的方法称为方法重载

方法重载的条件:

  • 名称相同
  • 参数列表不同(可以是数量不同,参数类型不同,参数类型排列顺序不同)
  • 返回类型不受影响

在相同名称的方法调用时,由 编译器自行决定调用哪个方法

可变参数

java为了给方法提供便利性,允许同种类型的数量可变的参数加入进来

可变参数在方法的参数列表中加入: 参数类型 ... 参数名称

public static void name(int ... numbers){
    .......
}

注意事项:

  • 一个方法中只能存在一个可变参数
  • 可变参数必须位于方法参数的最末尾

值传递和引用传递

java为值传递

值传递和引用传递的区别:

  • 值传递:只有值传递过去,改变不对数据本身改变

测试代码:

public class Demo2 {
    public static void main(String[] args) {
        int a=1;

        System.out.println(a);

        change(a);

        System.out.println(a);
    }

    public static void change(int a){
        a=10;
    }
}

结果:

1
1
  • 引用传递:地址传递过去,改变会对数据本身改变

测试代码:

public class Demo1 {
    public static void main(String[] args) {
        Person person = new Person();

        System.out.println(person.name);

        change(person);

        System.out.println(person.name);
    }

    public static void change(Person person){
        person.name = "999感冒灵";
    }
}


class Person{
    String name;
}

结果:

null
999感冒灵

结束语

方法是java中最常用的部分,我们通过方法来构建整体框架的各个小部件,从而整合成大项目

posted @ 2022-07-06 08:21  秋落雨微凉  阅读(137)  评论(0编辑  收藏  举报