偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何在 Java 中使用方法

開發(fā)
在這個(gè)簡(jiǎn)便的教程中,我們可以了解到 Java 中方法的定義,如何使用方法,以及何時(shí)使用方法。

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

方法存在于類中,因此標(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?? 語(yǔ)句,該語(yǔ)句根據(jù)你啟動(dòng)應(yīng)用程序的時(shí)間在兩個(gè)字符串之間進(jìn)行選擇。換句話說(shuō),??main?? 方法首先設(shè)置一些數(shù)據(jù)(在現(xiàn)實(shí)生活中,這些數(shù)據(jù)可以來(lái)自用戶輸入,也可以來(lái)自應(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?? 語(yǔ)句可能生成了相同的結(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?? 這樣的編程語(yǔ)言就是這種編碼風(fēng)格的例子。

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

從面向?qū)ο蟮慕嵌葋?lái)看,這是一個(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)的。在一天的過(guò)程中(在這種假想的情況下),??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ù)中。

換句話說(shuō),這個(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.

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

Java 方法

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

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2019-04-23 15:20:26

JavaScript對(duì)象前端

2021-09-10 10:30:22

Java庫(kù)代碼

2024-01-18 08:37:33

socketasyncio線程

2015-08-27 09:46:09

swiftAFNetworkin

2021-06-09 09:36:18

DjangoElasticSearLinux

2021-03-09 07:27:40

Kafka開源分布式

2022-05-17 08:25:10

TypeScript接口前端

2022-06-23 08:00:53

PythonDateTime模塊

2011-08-10 09:31:41

Hibernateunion

2021-01-28 05:14:40

C#接口簽名

2020-11-30 11:55:07

Docker命令Linux

2020-04-09 10:18:51

Bash循環(huán)Linux

2014-07-02 09:47:06

SwiftCocoaPods

2019-09-16 19:00:48

Linux變量

2024-09-06 11:34:15

RustAI語(yǔ)言

2024-12-03 08:00:00

2012-03-08 10:18:33

JavaOracle

2011-08-25 09:55:27

2025-03-21 09:58:59

Python數(shù)據(jù)類型安全

2023-12-01 09:18:27

AxiosAxios 庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)