日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何在Java中使用方法

Java 中的方法(在許多其他編程語言中稱為“函數(shù)”)是被組合在一起并標(biāo)記為可重用的一塊代碼。方法很有用,因?yàn)樗鼈冊(cè)试S你在不重寫相同代碼的情況下,執(zhí)行相同的操作或一系列操作,這不僅意味著你的工作量減少,還意味著出現(xiàn)問題時(shí)需要維護(hù)和調(diào)試的代碼減少。

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的鄂爾多斯網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

方法存在于類中,因此標(biāo)準(zhǔn) Java 樣板代碼適用:

package com.opensource.example;public class Example {  // 在此寫代碼}

在這樣一個(gè)簡(jiǎn)單的單文件應(yīng)用程序中,包定義并不是絕對(duì)必要的,但它是一個(gè)很好的習(xí)慣,而且大多數(shù) IDE 都強(qiáng)制執(zhí)行它。

默認(rèn)情況下,Java 會(huì)尋找在類中運(yùn)行的 ??main?? 方法。方法可以是公有的或私有的,也可以是靜態(tài)的或非靜態(tài)的,但 ??main?? 方法必須是公有的、靜態(tài)的,Java 編譯器才能識(shí)別和使用它。當(dāng)方法是公有的時(shí),它可以從類外部執(zhí)行。要在程序啟動(dòng)時(shí)調(diào)用 ??Example?? 類,其 ??main?? 方法必須是可訪問的,因此將其設(shè)置為 ??public??。

下面是兩個(gè)方法的簡(jiǎn)單演示:一個(gè) ??main?? 方法在調(diào)用 ??Example?? 類時(shí)默認(rèn)執(zhí)行,另一個(gè) ??report?? 方法接受 ??main?? 的輸入并執(zhí)行簡(jiǎn)單操作。

為了模擬任意數(shù)據(jù)輸入,我使用了 ??if??-??then?? 語句,該語句根據(jù)你啟動(dòng)應(yīng)用程序的時(shí)間在兩個(gè)字符串之間進(jìn)行選擇。換句話說,??main?? 方法首先設(shè)置一些數(shù)據(jù)(在現(xiàn)實(shí)生活中,這些數(shù)據(jù)可以來自用戶輸入,也可以來自應(yīng)用程序其他地方的其他方法),然后 “調(diào)用” ??report??方法,將處理后的數(shù)據(jù)作為輸入提供:

package com.opensource.example;public class Example {  public static void main(String[] args) {    // 生成一些數(shù)據(jù)    long myTime = System.currentTimeMillis();    String weather;    if ( myTime%2 == 0 ) {      weather = "party";    } else {      weather = "apocalypse";    }    // 調(diào)用其他方法    report(weather);  }  private static void report(String day) {    System.out.printf("Welcome to the zombie %s\n", day);  }}

運(yùn)行代碼:

$ java ./Example.javaWelcome to the zombie apocalypse$ java ./Example.javaWelcome to the zombie party

請(qǐng)注意,同一 ??report?? 方法有兩個(gè)不同的結(jié)果。當(dāng)然,在這個(gè)簡(jiǎn)單的演示中,不需要第二種方法。模擬數(shù)據(jù)生成的 ??if??-??then?? 語句可能生成了相同的結(jié)果。但是,當(dāng)一個(gè)方法執(zhí)行一項(xiàng)復(fù)雜的任務(wù)時(shí),比如將圖像調(diào)整為縮略圖,然后使用調(diào)整后的圖像在屏幕上生成小部件,那么附加組件的“費(fèi)用”就很有意義了。

何時(shí)使用 Java 方法

很難知道何時(shí)使用方法,何時(shí)只將數(shù)據(jù)發(fā)送到 ??Java 流?? 或循環(huán)中。如果你面臨這個(gè)決定,答案通常是使用一種方法。原因如下:

  • 方法開銷少。它們不會(huì)給代碼增加處理開銷。
  • 方法減少代碼的行數(shù)。
  • 方法是特定的。查找名為??resizeImage?? 的方法通常比查找隱藏在從驅(qū)動(dòng)器加載圖像的函數(shù)中某個(gè)循環(huán)中的代碼更容易。
  • 方法是可重用的。當(dāng)你第一次編寫方法時(shí),你可能會(huì)認(rèn)為它只對(duì)應(yīng)用程序中的一個(gè)任務(wù)有用。然而,隨著應(yīng)用程序的編寫,你可能會(huì)發(fā)現(xiàn)自己正在使用一種你認(rèn)為“已完成”的方法。

函數(shù)式編程與面向?qū)ο缶幊?/h3>

函數(shù)式編程利用方法作為執(zhí)行任務(wù)的主要構(gòu)造。創(chuàng)建一個(gè)方法,該方法接受一種數(shù)據(jù),處理該數(shù)據(jù),并輸出新數(shù)據(jù)。將許多方法串在一起,你就擁有了一個(gè)動(dòng)態(tài)且功能強(qiáng)大的應(yīng)用程序。像 C 和 ??Lua?? 這樣的編程語言就是這種編碼風(fēng)格的例子。

用代碼完成任務(wù)的另一種方式是 Java 使用的面向?qū)ο竽P汀T诿嫦驅(qū)ο缶幊讨?,方法是模板的組成部分。你可以創(chuàng)建對(duì)象,而不是將數(shù)據(jù)從一個(gè)方法發(fā)送到另一個(gè)方法,并可以通過使用它們的方法來更改它們。

從面向?qū)ο蟮慕嵌葋砜?,這是一個(gè)簡(jiǎn)單的 “僵尸末日” 演示程序。在函數(shù)方法中,我使用一種方法生成數(shù)據(jù),另一種方法使用該數(shù)據(jù)執(zhí)行操作。面向?qū)ο蟮牡葍r(jià)物是具有表示工作單元的類。這個(gè)示例應(yīng)用程序向用戶顯示一條當(dāng)天的消息,宣布這一天會(huì)有僵尸派對(duì)或是僵尸末日。編寫一個(gè)“天”對(duì)象,然后查詢?cè)搶?duì)象以了解其特性是有意義的。作為演示面向?qū)ο髽?gòu)造的不同方面的借口,新的示例應(yīng)用程序還將統(tǒng)計(jì)有多少僵尸出現(xiàn)在派對(duì)上(或末日)。

Java 為每個(gè)類使用一個(gè)文件,因此要?jiǎng)?chuàng)建的第一個(gè)文件是 ??Day.Java??,它用作 ??Day?? 對(duì)象:

package com.opensource.example;import java.util.Random;// 類public class Day {    public static String weather;    public int count;// 構(gòu)造方法  public Day() {    long myTime = System.currentTimeMillis();    if ( myTime%2 == 0 ) {      weather = "paradise";    } else {      weather = "apocalypse";    }  }// 方法  public String report() {      return weather;  }  public int counter() {    Random rand = new Random();    count = count + rand.nextInt(100);    return(count);    }}

在“類”部分中,創(chuàng)建了兩個(gè)域:天象 ??weather?? 和計(jì)數(shù) ??count??。??weather?? 是靜態(tài)的。在一天的過程中(在這種假想的情況下),??weather?? 不會(huì)改變。要么是派對(duì) ??paradise??,要么是末日 ??apocalypse??,持續(xù)了一整天。然而,僵尸的數(shù)量在一天中會(huì)增加。

在“構(gòu)造方法”部分,確定當(dāng)天的天象。它是作為一個(gè) ??構(gòu)造方法?? 完成的,因?yàn)樗辉陬愖畛醣徽{(diào)用時(shí)發(fā)生一次。

在“方法”部分,??report?? 方法只返回由構(gòu)造方法確定和設(shè)置的天象報(bào)告。然而,??counter?? 方法生成一個(gè)隨機(jī)數(shù),并將其添加到當(dāng)前僵尸計(jì)數(shù)中。

換句話說,這個(gè)類做了三件不同的事情:

  • 表示應(yīng)用程序定義的“天”。
  • 設(shè)置當(dāng)天不變的天氣報(bào)告。
  • 設(shè)置一天中不斷增加的僵尸數(shù)量。

要使用這所有,請(qǐng)創(chuàng)建第二個(gè)文件:

package com.opensource.example;public class Example {  public static void main(String[] args) {    Day myDay = new Day();    String foo = myDay.report();    String bar = myDay.report();    System.out.printf("Welcome to a zombie %s\n", foo);    System.out.printf("Welcome to a zombie %s\n", bar);    System.out.printf("There are %d zombies out today.\n", myDay.counter());    System.out.printf("UPDATE: %d zombies. ", myDay.counter());    System.out.printf("UPDATE: %d zombies. ", myDay.counter());  }}

因?yàn)楝F(xiàn)在有兩個(gè)文件,所以使用 Java IDE 運(yùn)行代碼是最簡(jiǎn)單的,但是如果不想使用 IDE,可以創(chuàng)建自己的 ??JAR 文件??。運(yùn)行代碼以查看結(jié)果:

Welcome to a zombie apocalypseWelcome to a zombie apocalypseThere are 35 zombies out today.UPDATE: 67 zombies. UPDATE: 149 zombies.

無論調(diào)用 ??report?? 方法多少次,??weather?? 都保持不變,但調(diào)用 ??counter?? 方法的次數(shù)越多,僵尸的數(shù)量就會(huì)增加。

Java 方法

方法(或函數(shù))是編程中的重要組成。在 Java 中,你可以將它們作為函數(shù)式編程的單個(gè)類的一部分使用,也可以在面向?qū)ο缶幊痰念愔g使用它們。兩種類型的編程對(duì)于解決同一個(gè)問題有不同的視角,因此沒有對(duì)與錯(cuò)之分。通過反復(fù)嘗試,積累一點(diǎn)經(jīng)驗(yàn),你會(huì)知道哪一個(gè)最適合某個(gè)特定的問題。


名稱欄目:如何在Java中使用方法
網(wǎng)頁鏈接:http://www.dlmjj.cn/article/cddjheh.html