java中什么是成员方法重载,什么是超载?如果我们重载Java中的main方法会怎样?...

本文介绍了Java中的方法重载概念,通过Calculator类的加法方法示例说明了如何通过参数列表的不同实现多态。同时,讨论了主方法main的重载,虽然在编译时允许,但JVM只会调用符合特定签名的main方法,即public static void main(String[] args)。当尝试重载main方法时,其他形式的main方法不会被执行。
摘要由CSDN通过智能技术生成

重载是实现多态的机制之一。如果一个类包含两个具有相同名称和不同参数的方法,则每次调用此方法时,方法主体将与基于参数的方法调用绑定在一起。

示例

在以下Java程序中,Calculator类具有两个带有名称加法的方法。Ť他只在它们之间的区别是,一个包含3个参数,另一个包含2个参数。

在这里,我们可以通过传递两个整数或三个整数来调用加法。根据我们传递的整数值的数量,将执行相应的方法。public class Calculator {

public int addition(int a , int b){

int result = a+b;

return result;

}

public int addition(int a , int b, int c){

int result = a+b+c;

return result;

}

public static void main(String args[]){

Calculator cal = new Calculator();

System.out.println(cal.addition(12, 13, 15));

}

}

输出结果40

重载的主要方法

是的,我们可以重载Java中的main方法,即  通过更改参数可以编写多个公共static voidmain()方法。如果这样做,程序将被编译而不会出现编译错误。

但是,当我们执行该程序时,JVM会搜索主要方法,该方法是公共的,静态的,返回类型为void,并将String数组作为参数,然后调用它。它从不调用以其他类型作为参数的main方法。public static int main(String[] args){

}

注-如果未找到这种方法,则会生成运行时错误。

示例

在以下示例中,我们尝试重载公共静态voidmain()方法(通过使用两个具有不同参数的主要方法),一个方法接受String数组作为参数,另一个方法接受整数数组作为参数-public class OverloadingMain {

public static void main(String args[]) {

System.out.println("main method with String array as arguments");

}

public static void main(int args[]) {

System.out.println("main method with integer array as arguments");

}

}

输出结果

当我们执行该程序时,永远不会调用以整数数组作为参数的main方法。main method with String array as arguments

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值