【java学习】方法的重载overload(19)

news2024/11/17 12:47:43

文章目录

  • 1. 重载的概念


1. 重载的概念

    在同一个类中,允许存在一个以上同名方法,只要它们的参数个数或者参数类型不同即可。

重载的特点:
    与返回值类型无关,只看参数列表,且参数列表必须不同。 ( 参数个数或参数类型 ) 。调用时,根据方法参数列表的不同来区别。

重载示例:

// 返回两个整数的和
int add(int x,int y){return x+y;}
// 返回三个整数的和
int add(int x,int y,int z){return x+y+z;}
// 返回两个小数的和
double add(double x,double y){return x+y;}
package default_package;

public class Test4 {

	public static void main(String[] args) {


	}
	//多个同名称的方法如果想在一个类中共存,那么这些同名的方法一定是参数的个数或者参数的数据类型不一样
	//这样的同名方法就叫做重载
	public int add(int x, int y) {
		return x + y;
	}
	
	public double add(int x, double y) {
		return x + y;
	}
	
	public int add(int x, int y, int z) {
		return x + y + z;
	}	

	
}

练习题1
    判断与 void show(int a,char b,double c){} 构成重载的有:

a) void show(int x,char y,double z){}   //no
b) int show(int a,double c,char b){}    //yes 顺序不同也是重载
c) void show(int a,double c,char b){}   //yes 顺序不同也是重载
d) boolean show(int c,char b){}         //yes
e) void show(double c){}                //yes
f) double show(int x,char y,double z){} //no
g) void shows(){double c}               //no

练习题2
    编程:编写程序,定义三个重载方法并调用。方法名为 mOL 。
(1) 三个方法分别接收一个 int 参数、两个 int 参数、一个字符串参数。分别执行平方运算并输出结果,相乘并输出结果,输出字符串信息。
(2) 在主类的 main () 方法中分别用参数区别调用三个方法。

答案

package default_package;

public class Test4 {

	public static void main(String[] args) {
		Test4 t4 = new Test4();
		
		t4.mOL(2);
		t4.mOL(2, 3);
		t4.mOL("重载方法mOL");
		
	}

	public void mOL(int i) {
		System.out.println(i * i);
	}
	
	public void mOL(int x, int y) {
		System.out.println(x * y);
	}
	
	public void mOL(String s) {
		System.out.println(s);
	}
	
}

运行结果:
在这里插入图片描述
练习3
    定义三个重载方法 max() ,第一个方法求两个 int 值中的最大值,第二个方法求两个 double 值中的最大值,第三个方法求三个 double 值中的最大值,并分别调用三个方法。

答案

package default_package;

public class Test4 {

	public static void main(String[] args) {
		Test4 t4 = new Test4();
		
		t4.max(0, 1);
		t4.max(0.2, 1.5);
		t4.max(9.1, 2, 4.5);
	}
	
	public void max(int x, int y) {
		if(x > y) {
			System.out.println("最大值是:" + x);
		}else {
			System.out.println("最大值是:" + y);
		}
	}
	
	public void max(double x, double y) {
		double res = 0;
		if(x > y) {
			res = x;
		}else {
			res = y;
		}
		System.out.println("最大值是:" + res);
	}
	
	public void max(double a, double b, double c) {
		double res = 0;
		
		if(a > b) {
			if(a > c) {
				res = a;
			}else {
				res = c;
			}
		}else {
			if(b > c) {
				res = b;
			}else {
				res = c;
			}
		}
		System.out.println("最大值是:" + res);
	}
	
}

运行结果:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1082551.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nodejs+vue家教管理系统

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1nodejs简介 4 2.2 express框架介绍 6 2.3 B/S结构 4 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性…

k8s强制删除pod、svc、namespace(Terminating)

如果名称空间、pod、pv、pvc全部处于“Terminating”状态时,此时的该名称空间下的所有控制器都已经被删除了,之所以出现pod、pvc、pv、ns无法删除,那是因为kubelet 阻塞,有其他的资源在使用该namespace,比如CRD等&…

【ElasticSearch】更新es索引生命周期策略,策略何时对索引生效

大家好,我是好学的小师弟,今天和大家讨论下更新es索引生命周期策略后,策略何时对索引生效 结论: 若当前索引已应用策略A(旧),更新完策略A后,新的策略A会立即对原来的已经应用该策略的索引生效;若当前索引…

Webpack 解决:ReferenceError: dist is not defined 的问题

1、问题描述: 其一、报错为: ReferenceError: dist is not defined 中文为: ReferenceError:dist 未定义 其二、问题描述为: 想在 webpack 的配置中,创建一个 dist 文件夹来存放 npm run build 打包后…

docker- harbor私有仓库部署与管理

什么是 harbor harbor是一个开源的云原生镜像仓库,它允许用户存储、签名、和分发docker镜像。可以将 harbor 看作是私有的docker hub ,它提供了更新安全性和控制性,让组织能够安全的存储和管理镜像 harbor RBAC(基于角色访问控制…

zsh: command not found: conda问题解决

参考:https://zhuanlan.zhihu.com/p/158703094 一、问题介绍与环境介绍 系统为macOS Catalina 10.15.4 所用终端为zsh 安装了oh-my-zsh之后conda命令在终端中不可用。 二、原因分析 终端中zsh的可访问的程序一般放在/bin, /usr/bin, /usr/local/bin,/bin目录下&…

Linux sed命令

在Linux系统中,有许多强大的文本处理工具,其中之一就是sed(Stream Editor)命令。sed是一个用于对文本进行编辑、替换、删除和过滤操作的命令行工具,一次处理一行内容。它具有强大的正则表达式支持和灵活的文本处理功能…

华为李鹏:加速5G商业正循环,拥抱更繁荣的5.5G(5G-A)

2023年10月10日,在华为主办的第十四届全球移动宽带论坛上,华为高级副总裁、运营商BG总裁李鹏面向来自全球的运营商和产业伙伴,提出抓住网络需求和趋势的力量——“面向后天的业务,积极规划明天的网络,加速5G商业正循环…

堆叠、集群技术

1.堆叠、集群技术的概述 堆叠、集群简介 堆叠(iStack),将多台支持堆叠特性的交换机通过堆叠线缆连接在一起,从逻辑上虚拟成一台交换设备,作为一个整体参与数据转发。 集群(Cluster Switch System&#xf…

Fisher辨别分析

问题要求 在UCI数据集上的Iris和Sonar数据上验证算法的有效性。训练和测试样本有三种方式(三选一)进行划分: (一) 将数据随机分训练和测试,多次平均求结果 (二)K折交叉验证 &…

Vuex存值取值与异步请求处理

目录 前言 一、Vuex简介 1.Vuex是什么 2.Vuex的核心概念 3.使用Vuex的好处 4.Vuex执行流程 二、Vuex的使用步骤 1.安装Vuex 2.创建store模块,分别维护state/actions/mutations/getters 3.使用Vuex存储值,获取值和改变值 1.state.js---存值 2.…

【AI】深度学习——前馈神经网络——卷积神经网络

文章目录 1.2 卷积神经网络1.2.1 卷积一维卷积近似微分低通滤波器/高通滤波器卷积变种 二维卷积卷积的核心就是翻转相乘卷积应用于图像处理 互相关互相关代替卷积 卷积与互相关的交换性 1.2.2 卷积神经网络卷积代替全连接卷积层特征映射卷积层结构参数数量 汇聚层(池化层)汇聚层…

C语言,洛谷题,压缩技术2.0

题目如下: 这题用C语言实现有一些难度,要用到一个库函数,strcat(头文件是string.h),用于连接两个字符串数组,strcat(str,arr)就是将arr字符数组后面的\0清除,再将arr字符拼接到str上…

python之K线模式识别

1、晨星 晨星也称作早晨之星,它是一种三日形态的K线组合,第一日是阴线,第二日价格振幅较小,第三日出现阳线,它的一般形态如下图所示。晨星的K线组合形态一般出现在下跌的趋势之后,预示着价格的上升回调。其…

网络-HTTPS

文章目录 前言一、HTTPS简介优点SSL/TSL工作流程 加密1、对称加密2、非对称加密 二、使用HTTPS1.openSSL生成私钥(1)node服务端(2)nginx配置https服务(前端) nginx服务 总结 前言 Http 存在不安全、无状态…

校园贴吧微信小程序搭建教程

大家好啊,罗峰今天来分享一下如何搭建一个校园贴吧微信小程序。一起来看看吧。 开发流程如下: 1.小程序注册:使用微信开放平台账号登录,创建一个新的小程序,并记录下小程序的 AppID。 2.项目初始化:使用微…

上海亚商投顾:沪指冲高回落 华为概念股持续活跃

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日高开低走,创业板指冲高回落。华为产业链继续活跃,鸿蒙方向领涨,润…

Idea创建springboot工程的时候,发现pom文件没有带<parent>标签

今天创建springboot工程,加载maven的时候报错: 这个问题以前遇到过,这是因为 mysql-connector-j 没有带版本号的原因,但是springboot的依赖的版本号不是都统一交给spring-boot-starter-parent管理了吗,为什么还会报错&…

CSS-注册页面

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>注册页面</title><style>*{margin:0px;padding: 0px;box-sizing: border-box;}body{background: url("../image/img/register_bg.png…

OpenCV实现图像傅里叶变换

傅里叶变换 dftcv.dft(img_float32,flagscv.DFT_COMPLEX_OUTPUT): flags:标志位&#xff0c;指定变换类型&#xff0c;cv.DFT_COMPLEX_OUTPUT会返回复数结果。 傅立叶变换&#xff0c;将输入的图像从空间域转换到频率域。 返回结果: 此函数返回一个复杂数值数组&#xff0c…