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

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;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值