首页 > 编程知识 正文

java中方法重载的定义,java知识图谱

时间:2023-05-06 00:09:59 阅读:114266 作者:2728

Ava方法的重载是一种编程技术,开发人员可以在同一类中多次使用相同的方法名称,但可以使用不同的参数。 在这种情况下,我说这个方法被重载了。

示例1显示了参数如何按数量、类型和顺序不同。 三种类型的方法重载:

Number of parameters:

公共类计算器{

语音计算(int number2,int number2) }

voidcalculate(intnumber1,int number2,int number3) }

}

参数类型:

公共类计算器{

语音计算(int number2,int number2) }

void calculate (双精度编号1,双精度编号2 ) }

}

参数订单:

公共类计算器{

void calculate (双编号1,int编号2 ) }

语音计算(int number 1,double number2) }

}

在示例1中,可以看到原始类型int和double。 由于要进一步处理这些类型和其他类型,因此需要一些时间来检查Java的原始类型。

重载不仅有助于使代码清晰、易于阅读,而且有助于避免程序中的错误。 请想象一下与例1相比的程序。 有几种calculate ()方法,例如calculate1、calculate2和calculate3。 这样好像不好。 重新加载calculate ()方法时,只能使用相同的方法名称更改需要更改的内容:参数。 找到重载的方法也很容易。 因为通常在代码内组合。

请注意,重命名变量不会导致重载。 无法编译以下代码:

公共类计算器{

语音计算(intfirstnumber,int secondNumber ) }

语音计算(intsecondnumber,int thirdNumber ) }

}

也不能更改方法签名的返回类型来重新加载方法。 以下代码也无法编译:

公共类计算器{

双计算(int number2,int number2) {return 0.0; }

longcalculate(intnumber1,int number2) {return 0; }

}

可以像使用方法一样重新加载构造函数。

公共类计算器{

私密int number 1;

私密int number 2;

公共计算器(int number1) {this.number1=number1; }

公共计算器(int number2,int number2) {

this.number1=number1;

this.number2=number2;

}

}

首先,JVM是一个聪明的懒汉。 总是尽最大努力执行方法。 因此,在考虑JVM如何处理重载时,请注意以下三种重要的编译器技术:

1 .加宽

2 .装箱(自动装箱和开箱)

3 .瓦拉加斯

如果您从未遇到过这三种技术,您应该有助于列举一些例子来阐明它们。 请注意,JVM按照给定的顺序运行。

这是一个加宽的例子:

int最优int number=5;

doubleprimitivedoublenumber=primitive int number;

对于扩展,这是原始类型的顺序。

这是一个自动包装的例子:

int最优int number=7;

integerwrapperintegernumber=primitive int number;

请注意,编译此代码后,它将在后台发生。

integerwrapperintegernumber=integer.value of (primitive int number );

这是一个开箱的例子:

Integer wrapperIntegerNumber=7;

intprimitiveintnumber=wrapperintegernumber;

这是编译这段代码后在后台发生的事情:

intprimitiveintnumber=wrapperintegernumber.intvalue (;

这是可变参数的一个例子; 请注意,此varargs始终是上次运行的时间:

execute(int…numbers ) {}

如果将数字1直接传递给执行操作方法,JVM将自动视为int。 所以,数字不符合执行动作(short var )方法。

同样,如果传递1.0的数字,JVM会自动将该数字识别为双精度。 当然,数字1.0可以是浮点,但类型是预定义的。 这就是在执行操作(双var )示例2中调用此方法的原因。

使用双包装器类型时,包装器编号可以打开为原始类型,也可以扩展为对象。 请注意,Java中的每个类都扩展了Object类。 )在这种情况下,JVM选择将双精度类型扩展为an。 因为Object,正如之前说明的那样,比开箱更少劳力。 我们给的最后一个数字是1L,这次指定了变量类型,所以是长的。

在需要相同方法名称和不同参数的情况下,重载是一项非常强大的技术。 这是一项有用的技术,因为在代码中使用正确的名称对可读性有很大的影响。 方法可以很容易地重载,而不是复制并给代码带来混乱。 这样可以组织代码,便于阅读,并降低以重复方式破坏部分系统的风险。

最后,感兴趣的学生可以通过查看本网站的专业java视频课程了解更多重载的实例和使用方法。 更深的学习知识只有在你的一念之间。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。