java重载教学(Java方法重载深入浅谈)

Java方法重载浅谈
  1. 方法重载的定义
  2. 方法重载的满足条件
  3. 方法重载的传递基本类型引入类型
  4. 方法重载的好处
方法重载的定义以及满足条件:

定义:

方法重载指同一类中定义多个方法之间的联系;

满足方法重载的条件:

  1. 多个方法在同一个类中
  2. 多个方法具有相同的方法名
  3. 多个方法的参数不同、类型不同、数量不相同

条件解释:

在同一个Moverloading类下,并且多个相同的方法名的类型不同-->int、boolean、void(无类型)

package 方法; public class Moverloading { public static void main(String[] args) { public static void getmax(){ //方法体 } public static int getMax(){ //方法体 } public static boolean getmax(){ //方法体 } } }

java重载教学(Java方法重载深入浅谈)(1)

多个方法的参数不同、类型不同、数量不同:

参数不同:

package 方法; public class Moverloading { public static void main(String[] args) { public static void getmax(String name){ //方法体 } public static void getMax(int age){ //方法体 } } }

java重载教学(Java方法重载深入浅谈)(2)

类型不同:

package 方法; public class Moverloading { public static void main(String[] args) { public static void getmax(String name){ //方法体 } public static void getMax(int age){ //方法体 } } }

java重载教学(Java方法重载深入浅谈)(3)

数量不同:

package 方法; public class Moverloading { public static void main(String[] args) { public static void getmax(String name){ //方法体 } public static void getMax(String name,int age){ //方法体 } } }

java重载教学(Java方法重载深入浅谈)(4)

方法重载的传递:

例子:

package 方法; public class functTansale { public static void main(String[] args) { int num =100; System.out.println(num); System.out.println("-------------"); int callback = Change(num); System.out.println(callback); } public static int Change(int num){ num = 200; return num; } }

java重载教学(Java方法重载深入浅谈)(5)

在数组中传递:

package 方法; public class arryTranslate { public static void main(String[] args) { int[] arr = {10,20,30}; System.out.println(arr[1]); System.out.println("---------"); change(arr); System.out.println(arr[1]); } public static void change(int[] arr){ arr[1] = 100; } }

java重载教学(Java方法重载深入浅谈)(6)

重载的好处:

不用为了对不同的参数类型或参数个数,而写多个函数,系统可以自动匹配;

多个函数用同一个名字,但参数表,即参数的个数或(和)数据类型可以不同,调用的时候,虽然方法名字相同,但根据参数表可以自动调用对应的函数。

这样我们在调用的时候,就不需要记那么多的方法名称,而是知道了方法的功能就可以直接的给他传递不同的参数,编译器会明确的知道我们调用了哪一个方法。重载比if...else要优雅,减少了if...else部分的代码。

java重载教学(Java方法重载深入浅谈)(7)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页