10.5 方法的重载

1、概述

  方法的重载就是在同一个类中允许同时存在一个以上的同名方法,只要这些方法的参数个数或类型不同即可。
  注意:虽然在方法重载中可以使用连个方法的返回类型不同,但只有返回类型不同并不足以区分两个方法的重载,还需要通过参数的个数以及参数的类型来设置。

例子10.9

 1 public class OverLoandTest {
 2     public static int add(int a, int b) {
 3         return a + b;
 4     }
 5
 6     //定义与第一个方法相同名称、参数类型不同的方法
 7     public static double add(double a, double b) {
 8         return a + b;
 9     }
10
11     //定义与第一个方法参数个数不同的方法
12     public static int add(int a) {
13         return a;
14     }
15
16     //定义一个成员方法
17     public static int add(int a, double b) {
18         return 1;
19     }
20
21     //这个方法与前一个方法参数次序不同
22     public static int add(double a, int b) {
23         return 1;
24     }
25
26     //主方法
27     public static void main(String[] args) {
28         System.out.println("调用add(int,int)方法:" + add(1,2));
29         System.out.println("调用add(double,double)方法:" + add(2.1,3.3));
30         System.out.println("调用add(int)方法:" + add(1));
31     }
32 }

2、在谈到参数个数可以确定两个方法是否具有重载关系时,会想到定义不定长参数方法。
  返回值 方法名(参数数据类型...参数名称)
  备注:在参数列表中使用“...”形式定义不定长参数,其实这个不定长参数a就是一个数组,编译器会将(int...a)这种形式看做是(int[] a),所以在add()方法体做累加操作时使用到了for循环语句,在循环中是根据数组a的长度做循环条件的,最后将累加结果返回。

例子10.10

 1 public class OverLoadTest2 {
 2     public static int add(int a, int b) {
 3         return a + b;
 4     }
 5
 6     //不定长参数形式的重载
 7     public static int add(int...a) {
 8         int s = 0;
 9         for(int i=0;i<a.length;i++) {        //根据参数个数做循环操作
10             s += a[i];        //将每个参数累加
11         }
12         return s;        //将计算结果返回
13     }
14
15     //主方法
16     public static void main(String args) {
17         System.out.println("调用add(int,int)参数方法:" + add(3,4));
18
19         //调用不定长参数方法
20         System.out.println("调用不定长参数方法:" + add(1,2,3,4,5,6,7,8,9));
21     }
22 }

原文地址:https://www.cnblogs.com/studycode/p/9533446.html

时间: 2024-11-13 06:40:29

10.5 方法的重载的相关文章

Java面向对象-方法的重载

Java面向对象-方法的重载 所谓方法的重载, 类里面有两个或者多个重名的方法,但是方法的参数个数.类型.顺序至少有一个不一样,这时候局构成方法重载: 上代码: 1 package com.java1234.chap03.sec03; 2 3 public class Demo01 { 4 5 int add(int a,int b){ 6 System.out.println("方法一"); 7 return a+b; 8 } 9 10 /** 11 * 方法的重载,参数个数不一样

10、方法的定义和重载和递归

方法 方法就是一段用来完成特定功能的代码片段. ??方法用于定义该类或该类的实例的行为特征和功能实现.方法是类和对象行为特征的抽象.在面向对象中,整个程序的基本单位是类,方法是从属于类和对象的. 方法的声明格式 修饰符1,修饰符2 .. 返回值类型 方法名(形式参数列表){ ??方法体; } 修饰符:修饰符不是必须的要写的,java有自己默的方法饰符号.(default) 返回值:方法在执行完毕后返回给调用它的环境的数据. 返回值类型:事先约定好的返回值类型. 方法名:方法名是调用的时候用的,一

第10章 接口、继承与多态 方法的重载

方法的重载就是在同一个类中允许同时存在一个以上的同名方法,只要这些方法的参数个数或类型不同. 举个例子,就拿String类的valueOf方法,它的参数可以使用多种,重载了它就可以使用相同的方法名不同的参数,如果不用重载你就得为每种参数的方法取一个名字,比如叫valueOf1,valueOf2....这样人家在调用你写的api的时候会觉得很不方便.

构造方法和方法的重载。

---恢复内容开始--- 构造器,又称为构造方法.constructor 构造器用于构造该类的实例. 格式: [修饰符] 类名(形参列表){ //n条语句 } 是一种特殊的方法: 1.通过new关键字调用 2.构造器虽然有返回值,但是不能定义返回类型(返回值的类型肯定是本类),不能字啊构造器里调用return. 3.如果我们没有定义构造器,则系统u会自动定义一个无参的构造函数.如果已定义则编译器不会添加! 4.构造器的方法名必须和类名一致! 5.构造该类的对象,经常也用来初始化对象的属性. --

面向对象----方法的重载

方法的重载 方法(函数) 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,-.) { 程序代码 return 返回值:} 其中:参数类型:就是该形式参数的数据类型.返回值:方法在执行完毕后返还给调用它的程序的数据.返回值类型:函数要返回的结果的数据类型.实参:调用函数时实际传给函数形式参数的数据.形式参数:在方法被调用时用于接收外部传入的数据的变量. 方法的调用 方法的重载 方法的重载就是在同一个类中允许同时存在一个以上的同名方法,只要它们的参数个数或类型不同即可. 如: 1 p

Java——方法的重载

方法的重载就是在同一个类中可以同时存在多个同名的方法,只要这些方法的参数或类型不同.方法重载可以使两个方法的返回值不同,但只有返回值还不足以区分两个方法的重载,还需要通过参数的类型.个数.长度来设定.一个简单地例子: public class OverLoadTest { public static int add(int a ,int b){ return a+b; } public static double add(double a ,double b){ return a+b; } pu

类的继承,方法的重载和覆写

在网易云课堂上看到唐大仕老师讲解的关于类的继承.方法的重载和覆写的一段代码,注释比较详细,在此记下以加深理解. 小总结: 1.类的继承:同类可以实例化(Student t=new Student(),Person p=new Person()),人类可以强制转换为学生类(Student t=(Student)Person),人类可以是学生类(Person p=new Student()): 2.方法的重载:只要求方法名称相同,返回类型.参数数目和参数类型都可以不相同: 3.方法的覆写:只有基类中

python面向对象-4类的继承与方法的重载

1.类的继承与方法的重载 上面就是先定义了一个类A,然后由定义了一个类B,B继承了类A,这样B就有了A的非私有属性和方法. 1 class Washer: 2 company='ZBL' 3 def __init__(self,water=10,scour=2): 4 self._water=water #不想让用户直接访问实例变量,可以标志成私有 5 self.scour=scour 6 self.year=2000#这是生产日期 7 #属性包装,将water属性包装成方法,用户使用water

构造方法和方法的重载

** * 方法重载就是在类中可以写多个方法名相同的方法,但这些方法除了方法名相同外,其参数类型,参数个数 * 和方法的返回值,都不相同. * *而构造方法就是一种特殊的方法,其的方法名必须和类名相同. *构造方法没有返回值类型,没有void *构造方法不能从父类中继承 *构造方法可以重载,一个class可以有多个构造方法,不同的对象根据参数的不同 * 选择合适的构造方法. * 构造方法不能直接通过方法名来引用,必须用new运算符 * 在构造方法中可以调用当前类和其父类的另一个构造方法,但必须是方