Java方法调用和方法重载

目录

1,方法调用

2,方法重载


1,方法调用

        Java 支持两种调用方法的方式,根据方法是否返回值来选择。 当程序调用一个方法时,程序的控制权交给了被调用的方法。当被调用方法的返回语句执行或者到达方 法体闭括号时候交还控制权给程序。

当方法返回一个值的时候,方法调用通常被当做一个值。例如:

int xx=max(30,10)

        Java语言中使用下述形式调用方法:对象名.方法名(实参列表) 如果方法返回值是void,方法调用一定是一条语句。例如,方法println返回void。

下面的调用是个语句:

public class test2 {
    public static void main(String[] args) {
        test();
    }
    public static void test() {
        System.out.println("返回类型为void的调用方式");
    }
}

下面是两种方式:

public class test {
        public static void main(String[] args) {
            int xx=max(30,10);
            System.out.println(xx);
            test();
        }
        //比大小方法
        public static int max(int a,int b){
            int result=0;
            if (a==b){
                return 0;//终止方法
            }
            if (a>b){
                result=a;
            }else {
                result=b;
            }
            return result;
        }
        //返回值类型为void
        public static void test(){
            System.out.println("返回类型为void的调用方式");
        }

}

这个程序包含 main 方法和 max 方法。main 方法是被 JVM 调用的,除此之外,main 方法和其它方法 没什么区别。JAVA中只有值传递!

main 方法的头部是不变的,如例子所示,带修饰符 public 和 static,返回 void 类型值,方法名字是 main,此外带个一个 String[] 类型参数。String[] 表明参数是字符串数组。

2,方法重载

上面使用的max方法仅仅适用于int型数据。但如果你想得到两个浮点类型数据的最大值呢? 解决方法是创建另一个有相同名字但参数不同的方法,如下面代码所示:

public static double max(double num1, double num2) {
if (num1 > num2)
return num1;
else
return num2;
}
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}

如果你调用max方法时传递的是int型参数,则 int型参数的max方法就会被调用; 如果传递的是double型参数,则double类型的max方法体会被调用,这叫做方法重载;

就是说一个类的两个方法拥有相同的名字,但是有不同的参数列表。

  • Java编译器根据方法签名判断哪个方法应该被调用。
  • 方法重载可以让程序更清晰易读。执行密切相关任务的方法应该使用相同的名字。
  • 重载的方法必须拥有不同的参数列表。你不能仅仅依据修饰符或者返回类型的不同来重载方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值