return关键字:
1.使用范围:使用在方法体中
2.作用:① 结束方法
* ② 针对于返回值类型的方法,使用"return 数据"方法返回所要的数据。
3.注意点:return关键字后面不可以声明执行语句。
方法的重载
1.方法的重载的概念
定义:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
*
总结:"两同一不同":同一个类、相同方法名
参数列表不同:参数个数不同,参数类型不同
2.
构成重载的举例:
举例一:Arrays类中重载的sort() / binarySearch();PrintStream中的println()
举例二:
//如下的4个方法构成了重载
public void getSum(int i,intj){
System.out.println("1");
}public void getSum(double d1,doubled2){
System.out.println("2");
}public void getSum(String s ,inti){
System.out.println("3");
}public void getSum(inti,String s){
System.out.println("4");
}
不构成重载的举例:
//如下的3个方法不能与上述4个方法构成重载
//如下的3个方法不能与上述4个方法构成重载//public int getSum(int i,int j){//return 0;//}//public void getSum(int m,int n){//
//}//private void getSum(int i,int j){//
//}
3. 如何判断是否构成方法的重载?
严格按照定义判断:两同一不同。
跟方法的权限修饰符、返回值类型、形参变量名、方法体都没关系!
4.如何确定类中某一个方法的调用:
方法名 ---> 参数列表
面试题:方法的重载与重写的区别?
throws\throw
String\StringBuffer\StringBuilder
Collection\Collections
final\finally\finalize
...
抽象类、接口
sleep() / wait()
可变个数形参的方法
1.使用说明:
* 1.jdk 5.0新增的内容
* 2.具体使用:
* 2.1 可变个数形参的格式:数据类型 ... 变量名
* 2.2 当调用可变个数形参的方法时,传入的参数个数可以是:0个,1个,2个,。。。
* 2.3 可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载
* 2.4 可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载。换句话说,二者不能共存。
* 2.5 可变个数形参在方法的形参中,必须声明在末尾
* 2.6 可变个数形参在方法的形参中,最多只能声明一个可变形参。
2.举例说明:
public void show(inti){
}public voidshow(String s){
System.out.println("show(String)");
}public voidshow(String ... strs){
System.out.println("show(String ... strs)");for(int i = 0;i < strs.length;i++){
System.out.println(strs[i]);
}
}//不能与上一个方法同时存在//public void show(String[] strs){//
//}
调用时:
test.show("hello");
test.show("hello","world");
test.show();
test.show(new String[]{"AA","BB","CC"});
packageatguigu.basic.day09.exer;/** 1.编写程序,定义三个重载方法并调用。方法名为mOL。
三个方法分别接收一个int参数、两个int参数、一个字符串参数。
分别执行平方运算并输出结果,相乘并输出结果,输出字符串信息。
在主类的main ()方法中分别用参数区别调用三个方法。
2.定义三个重载方法max(),
第一个方法求两个int值中的最大值,
第二个方法求两个double值中的最大值,
第三个方法求三个double值中的最大值,
并分别调用三个方法。
*
**/
public classOverloadExer {//1. 如下的三个方法构成重载
public void mOL(inti){
System.out.println(i*i);
}public void mOL(int i,intj){
System.out.println(i*j);
}public voidmOL(String s){
System.out.println(s);
}//2.如下的三个方法构成重载
public int max(int i,intj){return (i>j)?i:j;
}public double max(double d1,doubled2){return (d1>d2)?d1:d2;
}public double max(double d1, double d2, doubled3){double max = (d1 > d2)?d1 : d2;return (max > d3)?max : d3;
}
}