【JavaSE】方法的使用--05

news2024/11/27 16:49:01

目录

一、方法的概念与使用

1.1 什么是方法

1.2 方法的定义

1.3 方法调用的执行过程

1.4 实参和形参的关系(重要)

1.5 有无返回值的方法

二、方法的重载

2.1 方法重载的概念

2.2 方法重载的要求

2.3 方法签名


前言:

之前很久没写这方面的博客了,今天跟大家一起了解Java的方法的使用,让我们更加熟悉Java代码的编写

一、方法的概念与使用

1.1 什么是方法

       在Java中的方法也就类似于c语言中的函数,也就是把一个功能抽象出来,整理成一个模块,在需要它的时候就传入参数或者不传入参数调用它,则可以调用这个功能了。

方法的概念有以下几个:

1. 是能够模块化的组织代码(当代码规模比较复杂的时候);

2. 做到代码被重复使用, 一份代码可以在多个位置使用;
3. 让代码更好理解更简单;
4. 直接调用现有方法开发,不必重复造轮子。

1.2 方法的定义

方法定义的语法:

举个栗子:

【注意事项】

1.在现阶段修饰符一般使用public static的搭配;

2.在有返回值的方法中返回值的数据类型应该与方法的返回值类型相对应,如果没有返回值,返回值类型就填void;

3.方法名:用小驼峰命名;

4.如果这个方法中不需要传入参数则()中可以为空,如果有多个则用逗号隔开;

5.在Java中,方法不可以嵌套定义,但是可以嵌套调用,没有方法声明了(只要方法定义在类里面就可以了)。

1.3 方法调用的执行过程

【注意事项】

1.方法在定义的时候,是不会被执行的,只有在被调用的时候才会执行;

2.一个方法可以被调用多次。

1.4 实参和形参的关系(重要)

【注意事项】

在Java中,实参的值永远是拷贝在实参中,实参和形参的本质是两个实体。(一句话表达就是形参是实参的一份临时拷贝)

 【原因分析】

main方法中的两个变量x和y实参,其空间在main方法的栈(一块特殊的内存空间)中,而是swap方法中的x和y是两个形参变量,swap中的x和y的空间在swap方法运行时的栈中,因此:实参x和y 与 形参x和y是两个没有任何关联性的变量,在 swap方法调用时,只是将实参x和y中的值拷贝了一份传递给了形参x和y,因此对形参x和y操作不会对实参x和y产 生任何影响。

1.5 有无返回值的方法

方法的返回值就是 有 和 没有 两种情况,这两种情况都是按方法需要而定的,并不要求哪个方法一定要有返回值,哪个方法一定不能没有返回值。

如果方法有返回值时,则方法的 返回值类型 必须和 方法中要返回的类型一致

如果方法没有返回值时,该方法的返回类型应该写void,并且该方法中不能有 return;

二、方法的重载

2.1 方法重载的概念

Java中,如果多个方法的名字相同,参数列表不同,则称该几种方法被重载了

举个栗子:以下三个方法就是重载的

2.2 方法重载的要求

【注意事项】

1. 方法名必须相同
2. 参数列表必须不同(参数的个数不同、参数的类型不同、类型的次序必须不同)
3. 与返回值类型是否相同无关

2.3 方法签名

在同一个作用域中不能定义两个相同名称的标识符;比如:同一个方法中不能定义两个名字一样的变量
但是为什么类中就可以定义方法名相同的方法呢?
这里就跟方法签名有关系了,方法签名即:经过编译器编译修改过之后方法最终的名字。
具体方式:方法全路径名+参数列表+返回值类型,构成方 法完整的名字。

举个栗子: 

public class TestMethod {
    public static int add(int x, int y) {
        return x + y;
    }
    public static double add(double x, double y) {
        return x + y;
    }
    public static void main(String[] args) {
        add(1,2);
        
        add(1.5, 2.5);
    }
}
上述代码经过编译之后,然后使用JDK自带的javap反汇编工具查看,具体操作:
       1. 先对工程进行编译生成.class字节码文件
       2. 在控制台中进入到要查看的.class所在的目录
       3. 输入:javap -v 字节码文件名字即可
方法签名中的一些特殊符号说明:

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

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

相关文章

python基础----01-----环境搭建

一 python介绍 1.1 Python 特点 Python 是完全面向对象的语言。函数、模块、数宁、宁符串都是对象,在 Python 中一切皆对象。完全支持继承、重载、多重继承。支持重载运算符,也支持泛型设计。Python 拥有一个强大的标准库,Python 语言的核心…

谷云科技受邀出席2023华南CIO大会-应用与数据集成专家

2023年6月10-11日,我们将于中国珠海国际会展中心迎来第6届 S-CIO 2023华南CIO大会暨信息技术交易会 。大会将邀请近1000位来自广东、广西、福建、海南等地的企业IT高管及行业专家深入探讨企业数字化运营的关键问题,以“ 千人论坛-生态展区-专业分论坛-华…

2023年成人高考标准拿证流程(入学前入学后)

很多小伙伴对成人高考“报名→学习→毕业”的流程还是很陌生哈,下面给大家整理了一份详细的报考流程和攻略。 大家可以收藏起来,仔细看看。 成考全流程—入学前 5月—8月 联系报名机构老师预报名,选定自己要报考院校专业,了解报…

36 KVM管理设备-配置虚拟串口

文章目录 36 KVM管理设备-配置虚拟串口36.1 概述36.2 操作步骤 36 KVM管理设备-配置虚拟串口 36.1 概述 在虚拟化环境下,由于管理和业务的需求,虚拟机与宿主机需要互相通信。但在云管理系统复杂的网络架构下,运行在管理平面的服务与运行在业…

Servlet简介和环境设置

目录 Servlet 简介 Servlet 环境设置 导入jar包 web.xml文件配置 WebServlet注解配置 web.xml文件的方式和WebServlet区别 Servlet 简介 Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上…

对csv文件,又get了新的认知(二)

背景 最近在做数据处理时,发现别人给的 csv 文件用 txt 打开后,发现里面的所有字段都是带双引号,与自己之前见过的 csv 文件有点不一样,自己脑海里面隐约也见过 python 有相关的设置参数,于是就查看 python 官方文档中…

Linux 常用开发工具(上)(yum、vim)知识点+完整思维导图+实图例子+深入细节+通俗易懂建议收藏

绪论 耐心是一切聪明才智的基础。—— 柏拉图。本章进入到Linux下的一些常用的工具,这些工具能帮助我们去更好的使用Linux操作系统。 话不多说安全带系好,发车啦(建议电脑观看)。 附:红色,部分为重点部分&a…

一个无标记点面捕头盔,如何实现高精度面部表情捕捉?

在影视、动画、 游戏、虚拟直播应用中 虚拟数字人 可以犹如真人般实时驱动 背后少不了面部捕捉技术 随着面部捕捉技术不断革新,从有标记点到无标记点发展,再到如今佩戴一个面捕头盔就可以轻松做到精准面捕。 广州虚拟动力多年沉淀经验,根…

eslint导致的报错解决

当你利用脚手架在创建vue项目时,无脑创建下默认一定会安装eslint代码检测工具。那么你的噩梦就来了。eslint作为代码规范检测,不得不承认它的强大,但是绝对是会逼死一众强迫症患者。 比如你只是简简单单运行一个vue项目,报错一大堆…

10 EM(期望最大)算法

文章目录 10 EM(期望最大)算法10.1 背景介绍10.2 EM算法公式10.2.1 EM算法公式收敛性证明10.2.2 EM算法公式导出 10.3 广义EM算法10.3.1 EM有什么作用?10.3.2 为什么要引入广义EM?10.3.3 广义EM公式导出10.3.4 广义EM有什么不同 1…

RS-232 RS-485 TTL电平标准 以及串口、COM口、UART口、USB转TTL、USB转串口

串口 即串行通信接口,与之相对应的另一种接口叫并口,并行接口。两者的区别是,传输一个字节(8个位)的数据时,串口是将8个位排好队,逐个地在1条连接线上传输,而并口则将8个位一字排开…

2023 华为 Datacom-HCIE 真题题库 12(完结)--含解析

单项选择题 1.[试题编号:190728] (单选题)以下哪种工具不能用来匹配BGP路由条目? A、基本ACL B、高级ACL C、IP PREFIX LIST D、Community Filter 答案:B 解析:高级ACL是一种用于过滤IPv4报文的ACL&#…

记一次通过binlog日志恢复MySQL数据库的经历

通过binlog日志恢复MySQL数据库的数据 一、起因 起因是我在自己服务器上搭建的博客被黑客攻击,黑客删除了我的数据库并且要求支付比特币才给我恢复。 博客所有的表和数据都被清空,只留下了勒索金额和地址。如图 穷鬼如我当然是: 二、恢复数…

单源最短路的建图

1.热浪 信息学奥赛一本通&#xff08;C版&#xff09;在线评测系统 (ssoier.cn)http://ybt.ssoier.cn:8088/problem_show.php?pid1379 很裸的单源最短路问题&#xff0c;n2500,可以用dijksta或者spfa都能过&#xff0c;下面展示spfa的做法 #include<bits/stdc.h> usi…

【蓝桥杯选拔赛真题58】Scratch打气球游戏 少儿编程scratch图形化编程 蓝桥杯选拔赛真题解析

目录 scratch打气球游戏 一、题目要求 编程实现 二、案例分析 1、角色分析

微信小程序——Git版本管理

一篇文章带你学会微信小程序中的Git版本管理 场景复现微信开发者工具中的Git连接远程仓库配置网络和认证提交工作区更改查看历史查看文件修改历史切换分支创建分支拉取、推送与抓取 微信官方开发文档&#xff1a;微信开放文档 场景复现 最近在前端的学习过程中&#xff0c;接触…

普通二本程序员想进大厂,我需要考研吗?好程序员来答!

最近好程序员看知乎有某网友提问&#xff1a; 1 普通二本&#xff0c;非科班出身&#xff0c;对Java感兴趣 2 已经开始工作半年了&#xff0c;普通技术 java 岗位 3 英语不好&#xff0c;四级没过&#xff0c;最高才 400 4 通过培训进入 java 岗位&#xff0c;基础知识不太好 5…

Python编程环境搭建:Linux(Ubuntu)系统安装Python

Linux 系统是为编程而生的&#xff0c;因此绝大多数的 Linux 发行版&#xff08;Ubuntu、CentOS 等&#xff09;都默认自带了 Python。有的 Linux 发行版甚至还会自带两个版本的 Python&#xff0c;例如最新版的 Ubuntu 会自带 Python 2.x 和 Python 3.x。 打开 Linux 发行版内…

浏览器相关开发事项

文章目录 存储浏览器持久化存储&#xff08;F12->应用->存储&#xff09;浏览器缓存&#xff08;F12->内存&#xff09;浏览器存储管理单位&#xff08;域名/IP为单位&#xff09;区别localStorage VS 浏览器缓存localStorage VS cookies 存储 浏览器持久化存储&…

Linux :: 【基础指令篇 :: (补充):(5)】:: 初步认识并解析文件详细信息内容:文件类型与用户访问权限说明、文件类型分类说明

前言&#xff1a;本篇是 Linux 基本操作篇章的内容&#xff01; 笔者使用的环境是基于腾讯云服务器&#xff1a;CentOS 7.6 64bit。 学习集&#xff1a; C 入门到入土&#xff01;&#xff01;&#xff01;学习合集Linux 从命令到网络再到内核&#xff01;学习合集 经过了前面内…