摘要:關鍵字為跳出方法或返回值。總結如下接收變量方法名實參列表沒有返回值,不能使用接收變量。四重載一般來說,功能點相同的方法才適合使用重載,重載必須滿足如下要求必須是同一個類方法名必須相同參數列表不同注意方法重載與返回值無關。
一、概述
方法是指人們在實踐過程中為達到一定目的和效果所采取的辦法、手段和解決方案。
所謂方法,就是解決一類問題的代碼的有序組合,是一個功能模塊。編程語言中的方法是組合在一起來執行操作語句的集合。例如,System.out.println 方法,該系統實際上是為了在控制臺上輸出的消息執行多條語句??梢詫⒎椒ɡ斫鉃椤癈D機”即放入不同的碟片出現不同的歌曲;或“榨汁機”即放入不同的水果榨出不同的果汁。
方法就是 給能夠解決問題的多行代碼取了一個名字的功能塊 ,方便我們多次使用。方法的作用:
1)、main方法過于臃腫
2)、重復執行的代碼塊 命名,方便重復使用
3)、方便自上而下分解問題
4)、方便維護代碼
現在,我們將學習如何定義自己的方法有或沒有返回值,使用即調用帶或不帶參數,使用相同的名稱重載方法的方法中。
二、定義(method define) 2.1 聲明格式:1)、訪問修飾符:方法允許被訪問的權限范圍;
2)、返回值類型:如果方法不返回任何值,則指定為void;如果方法具有返回值,
則需要指定返回值的類型,并且在方法體中使用 return語句返回值;
3)、方法名:定義方法的名字,必須使用合法的標識符,見名知意。
4)、形參列表:參數可以有多個,多個參數間以逗號隔開,每個參數由參數類型和參數名組成,以空格隔開。
2.2 現有格式:注意: 方法只能定義在類中;同時方法不能嵌套;方法編寫位置與使用無關。
2.3 分類根據方法是否帶參、是否有返回值,可以將方法分為:
一個 void方法,它不返回任何值。
2.5 return關鍵字return 為 跳出方法 或 返回值。
注意:在一個作用域內 return 之后不能再存在代碼
return語句:
①return語句可以出現在任何(有返回值和沒有返回值)方法中
②return語句 在沒有返回值的方法中,用來提前結束方法
③return語句 在有返回值的方法當中,有兩個作用:提前結束方法,送出結果。
④一個方法只能執行一條return語句
⑤在一定會被執行的return語句后,寫的語句為不可達語句,程序自動檢測這種語句,永遠不會被執行到,報錯。
⑥在循環中無條件的break后寫語句,會出現不可達語句
⑦在死循環(沒有break來結束的死循環)后寫語句,會出現不可達語句
2.6 思考角度編寫一個方法時,請思考這四個方面:
1)、確定方法的功能
2)、確定方法的名稱
3)、此方法能否獨立運行,不能獨立,需要外界數據參與運算,確定形參。
4)、此方法完成后,其結果是否直接影響調用處的后續操作,如果影響,確定返回類型,不影響則為 void
2.7 簽名(signature)方法的簽名,確保在一個類中的唯一性。方法的簽名只看 方法名和形參
( 類型 個數 和順序) ,與修飾符 返回類型 和形參名無關。
三、調用(method invoke) 3.1 格式方法定義完成后,若要使用,必須調用它。在調用時,調用的控制權由方法調用處轉移到方法中,方法遇到 return 或者 }結束時,將調用權交還給調用處。也就是”從哪里來到哪里去”的套路。
如調用以上方法:
①如果該方法返回 void,則調用該方法必須是一個語句,不能使用變量接收。
②如果該方法具有返回類型,返回一個值,調用該方法通常被視為一個值。
總結如下:
[接收變量=]方法名([實參列表])
①void 沒有返回值,不能使用接收變量。
②存在返回值,接收變量或匿名接收(輸出或者調用)
3.2 類型兼容在調用方法時,形參與實參,接收類型與返回類型和返回值類型應該保持兼容。
①形參>=實參
②接收類型>=返回值類型>=return類型
3.3 值傳遞當使用一個參數調用一個方法時,參數的值拷貝給參數,即拷貝副本。這被稱作按值傳遞。
四、重載(method invoke)一般來說,功能點相同的方法才適合使用重載,重載必須滿足如下要求:
①必須是同一個類
②方法名必須相同
③參數列表不同
注意:方法重載與返回值無關。
參數列表不同:
參數的個數不同。
參數的對應的數據類型不同。
參數的順序不同(不同類型的可以交換位置)
五、遞歸結構遞歸是一種常見的解決問題的方法,即把問題逐漸簡單化。 遞歸的基本思想就是 自己調用自己 ”,一個使用遞歸技術的方法將會直接或者間接的調用自己。利用遞歸可以用簡單的程序來解決一些復雜的問題。比如:大多數排序使用的就是遞歸算法。
遞歸結構包括兩個部分:
① 定義遞歸頭。解答:什么時候不調用自身方法。如果沒有頭,將陷入死循環。
② 遞歸體。解答:什么時候需要調用自身方法。
遞歸的缺陷:
簡單的程序是遞歸的優點之一。但是遞歸調用會占用大量的系統堆棧,內存耗用多,在遞歸調用層次多時速度要比循環慢的多。所以再使用時要慎重。
注意:任何可用遞歸解決的問題也能使用迭代解決。但遞歸方法可以更加自然地反映問題,并且易于理解和調試,并且不強調效率問題時,可以采用遞歸;
在要求高性能的情況下盡量避免使用遞歸,遞歸調用既花時間又耗內存。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75406.html
摘要:二面向對象概述面向過程的設計思想和面向對象的設計思想我要吃魚香肉絲蓋飯面向過程我買菜我洗菜我切菜我放水我點火我做飯我炒菜。。。。 大家好,上次我們講過了樂字節Java編程之方法、調用、重載、遞歸,接下來我們將會進入到Java封裝的內容。Java編程語言發展,面向對象和類。 一、編程語言的發展 機器語言——直接由計算機的指令組成,指令、數據、地址都以0和1組成:可以被計算機直接識別并執行...
摘要:一構造器構造方法構造函數在創建對象時必會調用一個特殊的方法,這個方法是初始化對象信息的為服務的。構造函數與類同名且沒有返回值。 一、 構造器(構造方法|構造函數) 在創建對象時(new),必會調用一個特殊的方法,這個方法是初始化對象信息的為new服務的。這個方法稱為構造器showImg(https://segmentfault.com/img/bVbvjqC?w=490&h=275);...
摘要:大家好,樂字節的小樂又來了,上一篇是樂字節繼承與權限修飾,也是屬于繼承的,今天繼續繼承方法重寫和關鍵字。三關鍵字表示最終的。修飾類,表示該類不能被繼承修飾方法,表示該方法不能被重寫修飾屬性,表示常量,值一旦確定不可改變。 大家好,樂字節的小樂又來了,上一篇是:樂字節Java|JavaBean、繼承與權限修飾,也是屬于Java繼承的,今天繼續Java繼承-方法重寫、super和final...
摘要:在成員方法中或構造器中隱式的傳遞。作用如下在構造器中只能放在第一行屬性避免屬性和形參局部變量同名,發生就近原則實參列表構造器的首行調用其他構造器。關鍵字靜態的公共的。構造塊,先于構造器執行,每創建一個對象執行一次。 大家好,我是樂字節的小樂,從本文開始將會給大家講述Java繼承,一下是Java繼承的知識圖譜:showImg(https://segmentfault.com/img/bV...
摘要:大家好,樂字節小樂繼續為初學者講述基礎知識。上次說到樂字節反射之三方法數組類加載器,這次是反射之四反射相關操作操作屬性獲取對象獲取對象設置屬性打開權限獲取此屬性調用方法調用方法,都是直接對象方法實參反射之后,動態調用方法需要使用即可。 大家好,樂字節小樂繼續為Java初學者講述Java基礎知識。上次說到樂字節Java反射之三:方法、數組、類加載器,這次是Java反射之四:反射相關操作 ...
閱讀 752·2021-09-28 09:35
閱讀 2591·2019-08-29 11:25
閱讀 2154·2019-08-23 18:36
閱讀 1849·2019-08-23 16:31
閱讀 2065·2019-08-23 14:50
閱讀 3112·2019-08-23 13:55
閱讀 3286·2019-08-23 12:49
閱讀 2074·2019-08-23 11:46