【Java】/*方法的使用-快速總結*/

目錄

一、什么是方法

二、方法的定義

三、實參和形參的關系

四、方法重載

五、方法簽名


一、什么是方法

Java中的方法可以理解為C語言中的函數,只是換了個名稱而已。

二、方法的定義

1. 語法格式:

public static 返回類型 方法名 (形參列表) {

? ? ? ? //方法體...

? ? ? ? return 返回值;

}

2. public static也可以省略,后面會詳細講解這個是什么,但在現階段我們默認加上即可。

/*示例:定義一個能實現兩個整型相加的方法*/public static int add(int x, int y) {return x + y;}public static void main(String[] args) {Scanner scan = new Scanner(System.in);int x = scan.nextInt();int y = scan.nextInt();int ret = add(x, y);//調用方法System.out.println(ret);}

3. 關于return與C語言不同的地方,如果返回類型是同類不同種,且return后面數值類型的大小,小于方法返回類型,這樣寫是可以的,并不會報錯

4. Java中的方法名必須采用小駝峰的方式命名,比如,maxNum。

5. 關于方法的聲明,與C語言不同的是,Java中的方法,并不強調聲明的“位置”,也就是說,方法的聲明可以放在被調用前,也可以放在被調用后,不過習慣上會寫在被調用前

6. 在Java中,方法必須寫在類中,方法和C語言一樣,不能嵌套定義

三、實參和形參的關系

和C語言一樣,形參是實參的一份臨時拷貝,改變形參不會影響實參。

四、方法重載

1. 問:Java中為什么會出現方法重載?

答:例如,當我們想要實現兩個整型變量相加,兩個浮點型類型變量相加,三個浮點型變量相加等,由于參數的個數和類別有區別,于是我們要分別定義這個類型的方法,對于取名和記憶方法的名稱本身是一件很令人頭疼的事,但我們可以發現上面方法有一個共同的特點,本質都是實現數值之間的加法,于是引入了方法重載的概念,在一個類中,有相同的方法名,但形參列表不同幾個方法,稱這幾種方法被重載了
2. 方法重載的規則:
? ? ① 方法名稱必須相同
? ? ② 參數列表必須不同(個數不同,或類型不同,參數排列順序不同)
? ? ③ 方法的返回值類型可以相同也可以不相同
? ? ④ 僅僅返回值類型不同不足以稱為方法重載

3. 如下圖所示,我們定義了幾個方法名相同,但形參列表不同的add方法,在mian方法中調用add方法時可以發現會彈出一個選項框,我們可以根據方法的參數列表,選擇要使用哪一種add方法。(編譯器在編譯代碼時,會對實參類型進行推演,根據推演的結果來確定調用哪個方法)

五、方法簽名

1. 在同一個作用域中不能定義兩個相同名稱的標識符,比如:方法中不能定義兩個名字一樣的變量,那為什么類中可以定義方法名相同的方法呢?這是由于相同名稱的方法它們的方法簽名不同的緣故。

2. 方法簽名即:經過編譯器編譯修改過之后方法最終的名字,具體方式:方法全路徑名+參數列表+返回值類型,構成方法完整的名字。

3. 我們可以查看上圖中java代碼的的反匯編代碼,看到不同add方法的方法簽名,具體:

? ? ① 先對工程進行編譯生成.class字節碼文件

?? ?② 在控制臺中進入到要查看的.class所在的目錄

?? ?③ 輸入:javap -v 字節碼文件名字

如下圖所示,紅色框起來的即為三個add方法最終的名稱。

???本篇文章已完結,謝謝支持喲 ^^ !!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/10709.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/10709.shtml
英文地址,請注明出處:http://en.pswp.cn/web/10709.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

windows server 2019 安裝 docker環境

一、根據官方說明進行安裝 , 看起來過程相當簡單, 但問題還是有的 準備 Windows 操作系統容器 | Microsoft Learn // 一個 powershell 腳本,該腳本配置環境以啟用與容器相關的 OS 功能并安裝 Docker 運行時。 Invoke-WebRequest -UseBasicParsing "https://r…

【Docker】Ubuntu下Docker的基本使用方法與常用命令總結

【Docker】docker的基本使用方法 鏡像image與容器container的關系基本命令- 查看 Docker 版本- 拉取鏡像- 查看系統中的鏡像- 刪除某個鏡像- 列出當前 Docker 主機上的所有容器,包括正在運行的、暫停的、已停止的,以及未運行的容器- 列出當前 Docker 主機…

【信息系統項目管理師知識點速記】溝通管理:管理溝通

管理溝通是確保項目信息流通順暢的關鍵流程,涉及到信息的收集、生成、傳播、存檔、檢索、監管及最終處理,以促進項目團隊與利益相關者的有效互動。這一過程不僅關乎信息的發布,更側重于信息的恰當格式與精準送達,同時鼓勵利益相關者的積極參與,包括信息補充、澄清和討論。…

《二十一》QT QML編程基礎

QML概述 QML(Qt Meta-Object Language)是一種聲明性語言,它被用于描述Qt框架中用戶界面的結構和行為。QML提供了一種簡潔、靈活的方式來創建動態和交互式的界面。 QML基于JavaScript語法,通過使用QML類型和屬性來定義界面的元素…

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (三)

基于 LlaMA 3 LangGraph 在windows本地部署大模型 (三) 大家繼續看 https://lilianweng.github.io/posts/2023-06-23-agent/的文檔內容 第二部分:內存 記憶的類型 記憶可以定義為用于獲取、存儲、保留以及隨后檢索信息的過程。人腦中有多…

Mac 使用:Micosoft Remote Desktop 遠程優化

Micosoft Remote Desktop遠程優化 服務器 遠程會話環境設置 WinR打開運行,輸入gpedit.msc 找到計算機配置->管理模板->Windows組件->遠程桌面服務->遠程桌面會話主機->遠程會話環境。下面這幾個打開,有效提高rdp性能。 rdp協議同時使用…

自動駕駛---Behavior Planning之EUDM

1 背景 在前面的博客中,為讀者朋友們闡述了自動駕駛Planning模塊基于MCTS行為規劃的文章《自動駕駛---Behavior Planning之MCTS》,博客中引用的論文的主要思想是以蒙特卡洛樹來實現行為規劃。今天,我們繼續探尋另一種行為規劃的策略,主角依然是香港科技大學。 熟悉的讀者大…

vim 文件內容替換 cat 合并文件

vim 文件內容替換 第一步:首先要進入末行模式(在命令模式下輸入冒號:) 第二步:根據需求替換內容 ① 只替換光標所在這一行的第一個滿足條件的結果(只能替換1次) :s/要替換的關鍵詞/替換后的關鍵詞 回…

計數排序,基數排序,桶排序

目錄 計數排序: 基數排序: 桶排序: 計數排序: 計數排序是一種非比較型整數排序算法,特別適用于一定范圍內的整數排序。它的核心思想是使用一個額外的數組(稱為計數數組)來計算每個值的出現次數,然后根據這些計數信…

C語言中錯誤處理的基本實現

引入頭文件依賴&#xff1a; 標準輸入輸出流&#xff1a;#include <stdio.h>獲取錯誤信息&#xff1a;#include <string.h>&#xff0c;strerror通過這個頭文件獲取文件流&#xff1a;#include <stdlib.h>&#xff0c;fprintf通過這個頭文件獲取錯誤編號&…

hadoop生態圈集群搭建(持續更新240512)

Hadoop生態圈 Linux1.修改ip地址2.重啟network服務3.安裝插件4.關閉防火墻5.創建用戶6.創建目錄7.修改目錄的所屬主和所屬組為lxy8.修改主機名:hadoop102 (注意名字后面不要加空格)9.修改hosts文件10.等插件都裝完后再重啟Linux11.把xshell的登錄用戶換成lxy &#xff08;注意&…

【TC3xx芯片】TC3xx芯片時鐘監控

目錄 前言 正文 1.時鐘監控概念 1.1 時鐘監控原理 1.2時鐘監控配置寄存器

Node.js 的補充適用場景

Node.js 的適用場景相當廣泛&#xff0c;以下再補充一些具體的使用場景&#xff1a; 服務器端應用開發&#xff1a; Node.js特別適合于構建高性能、高并發、低延遲的服務器端程序。它可以用來開發Web服務器、API服務器、實時通訊服務器等。Node.js的高性能和事件驅動的非阻塞I…

day09-常用API異常

1.時間日期類 1.1 Date類&#xff08;應用&#xff09; 計算機中時間原點 1970年1月1日 00:00:00 時間換算單位 1秒 1000毫秒 Date類概述 Date 代表了一個特定的時間&#xff0c;精確到毫秒 Date類構造方法 方法名說明public Date()分配一個 Date對象&#xff0c;并初始化…

【大數據】HDFS

文章目錄 [toc]HDFS 1.0NameNode維護文件系統命名空間存儲元數據解決NameNode單點問題 SecondaryNameNode機架感知數據完整性校驗校驗和數據塊檢測程序DataBlockScanner HDFS寫流程HDFS讀流程HDFS與MapReduce本地模式Block大小 HDFS 2.0NameNode HANameNode FederationHDFS Sna…

使用注解的方式進行配置RabbitMQ

引入依賴&#xff1a; <dependency><groupId>org.springframework.amqp</groupId><artifactId>spring-rabbit-test</artifactId><scope>test</scope></dependency> 配置application.yml server:port: 8082 spring:rabbitmq…

pyqt5報錯:AttributeError: ‘mywindow‘ object has no attribute ‘setCentralWidget‘

第一種解決方法是&#xff1a;AttributeError: ‘mywindow‘ object has no attribute ‘setCentralWidget‘_attributeerror: mywindow object has no attribute-CSDN博客 第二種解決方法是&#xff08;推薦&#xff09;&#xff1a; 直接把這段代碼復制在 ui轉 py文件的后面…

什么是JVM中的程序計數器

在計算機的體系結構中&#xff1a; 程序計數器&#xff08;Program Counter&#xff09;&#xff0c;通常縮寫為 PC&#xff0c;是計算機體系結構中的一個寄存器&#xff0c;用于存儲下一條指令的地址。程序計數器是控制單元的一部分&#xff0c;它的作用是確保程序能夠按正確…

用 Python 和 AkShare 進行個股數據清洗:簡易多功能方法

標題:用 Python 和 AkShare 進行個股數據清洗:簡易多功能方法 簡介: 本文介紹了如何使用 Python 和 AkShare 庫對個股數據進行清洗和處理。個股數據經常需要進行清洗以用于分析、建模或可視化。我們將介紹一些簡單但功能強大的方法,包括數據加載、缺失值處理、重復值檢測和…

心理應用工具包 psychtoolbox 繪制小球走迷宮

psychtoolbox 是 MATLAB 中的一個工具包&#xff0c;對于科研人員設計實驗范式來說是不二之選&#xff0c;因為它可以操作計算機的底層硬件&#xff0c;精度可以達到幀的級別。 文章目錄 一、實驗目的二、psychtoolbox 的下載安裝三、Psychtoolbox 的基本使用四、完整代碼 一、…