java - 匹配函数名称但参数不同
问题描述
在第 51 页学习 Java 中的“破解编码面试”时,我遇到了:
void permutation(String str){
permutation(str,"");
}
void permutation(String str, String prefix){
if(str.length()==0){
System.out.println(prefix);
} else{
for(int i=0;i<str.length();i++){
String rem=str.substring(0,i)+str.substring(i+1);
permutation(rem,prefix+str.charAt(i));
}
}
}
我知道第一个置换函数接受一个字符串并调用完成所有工作的第二个置换函数。然而,第二个置换不是对第一个置换函数的重新声明吗?Java 将如何识别和使用第一个置换函数而不覆盖它?
解决方案
java将如何识别和使用第一个排列函数?
当您调用该方法时,Java 会看到您尝试传递给它的内容。根据您传递的参数,它将决定您尝试使用的方法的“版本”。
就像其他人所说 - 这是方法重载
推荐阅读
- c++ - 获取文档目录
- javascript - 在 JS 中使用 class 而不是 id 来做一个动作
- react-native - 如何解决 ESLint 错误无法解析模块“react-native”的路径
- c# - 访问 Int 变量时 SSIS 获取异常
- mongodb - 如何在 MongoDB Stitch Functions 代码中使用 Object.bsonsize?
- excel - How to get different years for a slicer
- informatica - 如何从来自源的一组日期中选择最大日期,除了高日期?
- wordpress - 将另一个 Wordpress 数据库中的帖子添加到 WP Query
- python - 在数据帧上使用 groupby 进行动态移位
- azure-log-analytics - 当 Linux 服务停止时,如何在 OMS 中创建警报?