java函数及函数重载

一、什么是函数

  • 函数又称方法,是一段代码的封装。函数的好处是模块化、可重用性。创建一个函数后就可以重复调用。
  • 函数包括修饰符、返回值、函数名、函数参数、函数体等部分。
  • 例如下面一个计算圆面积的函数:static修饰符表明这是一个静态方法,double表示返回值的类型,circle_area是函数名,括号里的是函数的参数,表示要传进来一个double类型的数(半径),{ }里的是函数体,即函数具体要实现的功能。

定义函数

static double circle_area(double r){
        double area = 3.14*r*r;
        return area;
}

调用函数

public static void main(String[] args) {
        double area = circle_area(9);
}

二、函数重载

  • 当函数名相同,而函数参数(类型、个数、顺序)不同时构成函数重载。
  • 函数参数名(形参)不同时不构成函数重载
  • 函数(返回值)不同时也不构成函数重载
  • 函数重载例子:下面定义了6个名字都为add的函数,求几个数的和,根据传进来的参数不同java会调用不同的函数,这就是函数重载
public class 函数重载 {
    public static void main(String[] args) {
        int sum = add(100,200);  //执行第1个add函数,参数都为整型
        System.out.println(sum);
        double sum2 = add(100.1, 200); //执行的是第2个add函数,第1个参数为double,第2个int
        System.out.println(sum2);
        sum2 = add(90,80.5);    //执行的是第3人add函数,第1个参数是int型,第2个参数是double型
        System.out.println(sum2);
        sum2 = add(98.5, 80, 100.8);  //执行的是最后一个add函数,有3个参数
        System.out.println(sum2);

    }

    public static int add(int n1, int n2){
        return n1+n2;
    }
    public static double add(double n1, int n2){
        return n1+n2;
    }
    public static double add(int n1, double n2){
        return n1+n2;
    }
    public static double add(double n1, double n2){
        return n1+n2;
    }
    public static double add(float n1, int n2){
        return n1+n2;
    }
    public static double add(double n1, double n2, double n3){
        return n1+n2+n3;
    }
}

三、函数重载的错误

  • 函数参数名(形参)不同时不构成函数重载。
public static int add(int n1, int n2){
        return n1+n2;
}

    public static int add(int num1, int num2){
        return num1+num2;
}

IntelliJ IDEA提示错误:‘add(int int)’ is already defined。函数已经定义了

在这里插入图片描述

  • 函数(返回值)不同时也不构成函数重载
//如下两个函数,函数名相同,只是返回值类型不同,不构成重载,IntelliJ IDEA提示错误
    public static void show(){
        System.out.println("我是没有返回值的函数!");
    }

    public static int show(){
        System.out.println("我是没有返回值的函数!");
        return 20;
    }
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值