java 面向对象(五):类结构 方法(二) 关键字:return;方法的重载;可变个数形参的方法

时间:2021-09-19 14:57:34

return关键字:
1.使用范围:使用在方法体中
2.作用:① 结束方法
* ② 针对于返回值类型的方法,使用"return 数据"方法返回所要的数据。
3.注意点:return关键字后面不可以声明执行语句。

方法的重载

1.方法的重载的概念
定义:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
*
总结:"两同一不同":同一个类、相同方法名
参数列表不同:参数个数不同,参数类型不同

2.
构成重载的举例:
举例一:Arrays类中重载的sort() / binarySearch();PrintStream中的println()
举例二:
//如下的4个方法构成了重载

    public void getSum(int i,int j){
System.out.println("1");
} public void getSum(double d1,double d2){
System.out.println("2");
} public void getSum(String s ,int i){
System.out.println("3");
} public void getSum(int i,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(int i){

    }

    public void show(String s){
System.out.println("show(String)");
} public void show(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"});