java_方法的定义、调用、重载

时间:2022-07-23
本文章向大家介绍java_方法的定义、调用、重载,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

方法的定义

1 概述

方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。 当我们需要这个功能的时候,就可以去调用。这样即实现了代码的复用性,也解决了代码冗余的现象。

2 方法的定义

定义格式:

修饰符 返回值类型 方法名(参数列表) {
        //代码省略...
        return 结果;
}

定义格式解释: 修饰符: public static 等 返回值类型:表示方法运行的结果的数据类型 方法名:定义的方法起名,满足标识符的规范,用来调用方法。 参数列表: 方法在运算过程中的未知数据,调用者调用方法时传递 return:将方法执行后的返回值带给调用者,方法执行到 return ,整体方法运行结束

3 定义方法的两个明确

题目:定义方法实现两个整数的求和计算。

明确返回值类型:方法计算的是整数的求和,结果也必然是个整数,返回值类型定义为int类 型。 明确参数列表:计算哪两个整数的和,并不清楚,但可以确定是整数,参数列表可以定义两 个int类型的 变量,由调用者调用方法时传递

public class Demo {
    public static void main(String[] args) {

        int sum = getSum(5, 6);
        System.out.println("sum = " + sum);
        }
        /*
        定义方法的2个明确
        1.明确返回值类型, 2个整数求和,返回值是整数
        2.明确参数列表, 不知道哪2个数求和.int a, int b
        */
        public static int getSum(int a, int b) {
        int c = a + b;
        return c;
    }
}

4 方法定义注意事项

定义位置,方法必须定义在一个类中方法外 方法不能定义在另一个方法的里面 一个类中不能定义2个一模一样的方法 返回值类型,必须要和 return 语句返回的类型相同,否则编译失败 。

方法的调用流程图解

方法重载

定义2个int数求和,定义3个int数求和时,2个数求和,3个数求和功能是一样的.如果定义不同的方法名使用起来不方便.最好取相同的名称

方法重载:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修 饰符和返 回值类型无关。

参数列表:个数不同,数据类型不同,顺序不同。 重载方法调用:JVM通过方法的参数列表,调用不同的方法。

题目1 比较两个数据是否相等。参数类型分别为两个 byte 类型,两个 short 类型,两个 int 类型,两个 long 类型,并在 main 方法中进行测试。

public class Method_Demo{
    public static void main(String[] args) {
        //定义不同数据类型的变量
        byte a = 10;
        byte b = 20;
        short c = 10;
        short d = 20;
        int e = 10;
        int f = 10;
        long g = 10;
        long h = 20;
        // 调用
        System.out.println(compare(a, b));
        System.out.println(compare(c, d));
        System.out.println(compare(e, f));
        System.out.println(compare(g, h));
        }
        // 两个byte类型的
        public static boolean compare(byte a, byte b) {
        System.out.println("byte");
        return a == b;
        }
        // 两个short类型的
        public static boolean compare(short a, short b) {
        System.out.println("short");
        return a == b;
        }
        // 两个int类型的
        public static boolean compare(int a, int b) {
        System.out.println("int");
        return a == b;
        }
        // 两个long类型的
        public static boolean compare(long a, long b) {
        System.out.println("long");
        return a == b;
    }
}