java基础:方法详解

定义方法的格式详解

修饰符 返回值类型 方法名(参数列表){
    //代码省略...
    return 结果;
}
  • 修饰符: public static 固定写法
  • 返回值类型: 表示方法运行的结果的数据类型,方法执行后将结果返回到调用者
  • 参数列表:方法在运算过程中的未知数据,调用者调用方法时传递
  • return:将方法执行后的结果带给调用者,方法执行到 return ,整体方法运行结束
  • 小贴士:return 结果; 这里的"结果"在开发中,我们正确的叫法成为方法的返回值

定义方法的两个明确

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

注意事项:

  • 1. 方法定义的先后顺序无所谓。
  • 2. 方法定义必须是挨着的,不能在一个方法的内部定义另外一个方法。
  • 3. 方法定义之后,自己不会执行的;如果希望执行,一定要进行方法的调用。

方法的三种调用格式。

  • 1. 单独调用:方法名称(参数);
  • 2. 打印调用:System.out.println(方法名称(参数));
  • 3. 赋值调用:数据类型 变量名称 = 方法名称(参数);

注意事项:

  • 对于有返回值的方法,可以使用单独调用、打印调用或者赋值调用。
  • 但是对于无返回值的方法,只能使用单独调用,不能使用打印调用或者赋值调用。

使用方法的时候,注意事项:

  • 1. 方法应该定义在类当中,但是不能在方法当中再定义方法。不能嵌套。
  • 2. 方法定义的前后顺序无所谓。
  • 3. 方法定义之后不会执行,如果希望执行,一定要调用:单独调用、打印调用、赋值调用。
  • 4. 如果方法有返回值,那么必须写上“return 返回值;”,不能没有。
  • 5. return后面的返回值数据,必须和方法的返回值类型,对应起来。
  • 6. 对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己。
  • 7. 对于void方法当中最后一行的return可以省略不写。
  • 8. 一个方法当中可以有多个return语句,但是必须保证同时只有一个会被执行到,两个return不能连写。

方法重载

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

方法的重载(Overload):多个方法的名称一样,但是参数列表不一样。
好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能。

/*
题目要求:
比较两个数据是否相等。
参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型,
并在main方法中进行测试。
 */
public class Demo02MethodOverloadSame {

    public static void main(String[] args) {
        byte a = 10;
        byte b = 20;
        System.out.println(isSame(a, b));

        System.out.println(isSame((short) 20, (short) 20));

        System.out.println(isSame(11, 12));

        System.out.println(isSame(10L, 10L));
    }

    public static boolean isSame(byte a, byte b) {
        System.out.println("两个byte参数的方法执行!");
        boolean same;
        if (a == b) {
            same = true;
        } else {
            same = false;
        }
        return same;
    }

    public static boolean isSame(short a, short b) {
        System.out.println("两个short参数的方法执行!");
        boolean same = a == b ? true : false;
        return same;
    }

    public static boolean isSame(int a, int b) {
        System.out.println("两个int参数的方法执行!");
        return a == b;
    }

    public static boolean isSame(long a, long b) {
        System.out.println("两个long参数的方法执行!");
        if (a == b) {
            return true;
        } else {
            return false;
        }
    }
}

方法重载与下列因素相关:

  • 1. 参数个数不同
  • 2. 参数类型不同
  • 3. 参数的多类型顺序不同

方法重载与下列因素无关:

  • 1. 与参数的名称无关
  • 2. 与方法的返回值类型无关
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值