首页 > 其他分享 >12-面向对象-方法重载(OverLoad)

12-面向对象-方法重载(OverLoad)

时间:2023-08-03 11:58:43浏览次数:49  
标签:12 calculate int double OverLoad 面向对象 n1 n2 public

基本介绍

重载(Overload):指一个类中可以有多个方法具有相同的名字,但这些方法的参数不同(参数的类型和个数不同)

即在Java中允许同一个类中,多个同名方法的存在,但要求形参列表不一致!

public class OverLoad01 {
    public static void main(String[] args){

        MyCalculator mc = new MyCalculator();
        System.out.println(mc.calculate(1,2));      //3
        System.out.println(mc.calculate(1.1,2));    //3.1
        System.out.println(mc.calculate(1,2.2));    //3.2
        System.out.println(mc.calculate(1,2,3));    //6
    }
}

class MyCalculator{
    //以下四个 calculate方法 构成了重载
    //两个整数的和
    public int calculate(int n1, int n2){
        return n1 + n2;
    }
    //一个整数,一个double的和
    public double calculate(int n1, double n2){
        return n1 + n2;
    }
    //一个double,一个Int的和
    public double calculate(double n1, int n2){
        return n1 + n2;
    }
    //三个Int的和
    public int calculate(int n1, int n2, int n3){
        return n1 + n2 + n3;
    }
}

方法重载的注意事项和使用细节

方法名:必须相同

参数列表:必须不同(形参类型或个数或顺序,至少有一样不同,参数名无要求)

返回类型:无要求

构成重载的两个方法,必须在同一个作用域中。

标签:12,calculate,int,double,OverLoad,面向对象,n1,n2,public
From: https://www.cnblogs.com/REN-Murphy/p/17602776.html

相关文章

  • web渗透测试(12):命令注入
    命令注入来自缺乏对作为命令一部分使用的信息的过滤和编码。最简单的示例来自使用函数system(运行命令)并将HTTP参数作为此命令的参数。 有很多方法可以利用命令注入:例如,通过在反引号内注入命令 `id`通过将第一个命令的结果重定向到第二个命令 |id如果由第一个成功运行的......
  • 优秀测试同学的12条准则
    一、独立且公正测试过程和开发过程是独立的,彼此之间没有重叠或冲突,而是互相补充。测试人员要保持公正的态度,不轻易被业务、产品、开发说服,因为他们未必想的全。对于质量底线,要坚守,对于严重缺陷,要勇于提出反对意见。二、质量第一,效率第二质量是生命线,测试的目标是保障产品交付......
  • ORA-01200
    客户XXX数据库服务器掉电,数据库startup启动数据库遇到ORA-01200错误,信息如下:SQL>startup;ORACLEinstancestarted.TotalSystemGlobalArea997953536bytesFixedSize2259400bytesVariableSize515900984bytesDatabaseBuffers......
  • UOJ312 【UNR #2】梦中的题面
    好题。容斥后插板,要计算的形如\(\binom{Sum}{m}\)的样子。这个\(Sum\)可能会很大,不能直接设进状态,但是我们\(dp\)需要\(Sum\)计算组合数。解决方法是用范德蒙德卷积\[\sum_{i=0}^{k}{\binom{n}{i}\binom{m}{k-i}}=\binom{n+m}{k}\]设\(dp_i\)表示当前所有\(\binom......
  • 129.动态编译与静态编译
    129.动态编译与静态编译1.静态编译静态编译是将程序代码和库函数一起编译成一个可执行文件的过程。在静态编译过程中,程序代码和库函数的代码被组合在一起,形成一个独立的可执行文件,该文件可以在任何系统上运行,因为它包含了所有所需的代码和库函数。1.1优点:1.程序在运行时不需要......
  • 128.用C语言实现C++的继承
    128.用C语言实现C++的继承#include<iostream>usingnamespacestd;//C++中的继承与多态structA{virtualvoidfun()//C++中的多态:通过虚函数实现{cout<<"A:fun()"<<endl;}inta;};structB:publicA//C++中的继承:B类公有继......
  • 120.strcpy函数和strncpy函数的区别?哪个函数更安全?
    120.strcpy函数和strncpy函数的区别?哪个函数更安全?1.函数原型char*strcpy(char*strDest,constchar*strSrc)char*strncpy(char*dest,constchar*src,size_tn)2.安全性strcpy函数:如果参数dest所指的内存空间不够大,可能会造成缓冲溢出(bufferOverflow)的错误......
  • nfls15095 Atcoder-abc123_d 蛋糕
    Atcoder-abc123_dAT小卖部从下学期开始售卖带有数字形状的蛋糕,\(X\),\(Y\)和\(Z\)种蛋糕分别带有\(1\)形,\(2\)形和\(3\)形蜡烛,而且每个蛋糕都有美味值,如下所示:带有\(1\)形蜡烛的美味值有:\(A_1,A_2,\cdots,A_X\)带有\(2\)形蜡烛的美味值有:\(B_1,B_2,\cdots,B_Y\)......
  • 逆向——字符与字符串,中文字符GB2312编码由来
    字符与字符串在之前的课程中我们了解到变量的定义决定两个事情,第一是决定存储的数据宽度,第二是决定了存储的数据格式,那么我们来看下下面的代码:inta=123;//变量x,数据宽度为4个字节,里面存储的是补码(在计算机系统中,数值一律用补码来存储)intfloatb=123.4F;//IEEE编码(浮点)......
  • 面向对象编程基础
    欢迎来到C#语言入门指南的第二篇博客!在前一篇博客中,我们了解了C#语言的基本概念和历史,并成功编写了您的第一个C#程序。今天,我们将深入探讨面向对象编程(Object-OrientedProgramming,OOP)的基础知识。OOP是一种常用的编程范式,它将数据和操作数据的方法组织成对象,以便更好地模拟现实世......