本篇內(nèi)容介紹了“零基礎(chǔ)學(xué)Java的方法有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元綏陽(yáng)做網(wǎng)站,已為上家服務(wù),為綏陽(yáng)各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
01、Java 中的方法是什么?
方法用來(lái)實(shí)現(xiàn)代碼的可重用性,我們編寫一次方法,并多次使用它。通過(guò)增加或者刪除方法中的一部分代碼,就可以提高整體代碼的可讀性。
只有方法被調(diào)用時(shí),它才會(huì)執(zhí)行。Java 中最有名的方法當(dāng)屬 main() 方法,點(diǎn)擊下面的鏈接可以閱讀更多關(guān)于 main() 方法的知識(shí)點(diǎn)。
02、如何聲明方法?
方法的聲明反映了方法的一些信息,比如說(shuō)可見(jiàn)性、返回類型、方法名和參數(shù)。如下圖所示。
訪問(wèn)權(quán)限:它指定了方法的可見(jiàn)性。Java 提供了四種訪問(wèn)權(quán)限修飾符:
public:該方法可以被所有類訪問(wèn)。
private:該方法只能在定義它的類中訪問(wèn)。
protected:該方法可以被同一個(gè)包中的類,或者不同包中的子類訪問(wèn)。
default:該方法如果沒(méi)有使用任何訪問(wèn)權(quán)限修飾符,Java 默認(rèn)它使用 default 修飾符,該方法只能被同一個(gè)包中類可見(jiàn)。
返回類型:方法返回的數(shù)據(jù)類型,可以是基本數(shù)據(jù)類型、對(duì)象和集合,如果不需要返回?cái)?shù)據(jù),則使用 void 關(guān)鍵字。
方法名:方法名最好反應(yīng)出方法的功能,比如,我們要?jiǎng)?chuàng)建一個(gè)將兩個(gè)數(shù)字相減的方法,那么方法名最好是 subtract。
方法名最好是一個(gè)動(dòng)詞,并且以小寫字母開頭。如果方法名包含兩個(gè)以上單詞,那么第一個(gè)單詞最好是動(dòng)詞,然后是形容詞或者名詞,并且要以駝峰式的命名方式命名。比如:
一個(gè)單詞的方法名:sum()
多個(gè)單詞的方法名:stringComparision()
一個(gè)方法可能與同一個(gè)類中的另外一個(gè)方法同名,這被稱為方法重載。
參數(shù):參數(shù)被放在一個(gè)圓括號(hào)內(nèi),如果有多個(gè)參數(shù),可以使用逗號(hào)隔開。參數(shù)包含兩個(gè)部分,參數(shù)類型和參數(shù)名。如果方法沒(méi)有參數(shù),圓括號(hào)是空的。
方法簽名:每一個(gè)方法都有一個(gè)簽名,包括方法名和參數(shù)。
方法體:方法體放在一對(duì)花括號(hào)內(nèi),把一些代碼放在一起,用來(lái)執(zhí)行特定的任務(wù)。
02、方法有哪幾種?
方法可以分為兩種,一種叫預(yù)先定義方法,一種叫用戶自定義方法。
1)預(yù)先定義方法
Java 提供了大量預(yù)先定義好的方法供我們調(diào)用,也稱為標(biāo)準(zhǔn)類庫(kù)方法,或者內(nèi)置方法。比如說(shuō) String 類的 length()、equals()、compare() 方法,以及我們?cè)诔鯇W(xué) Java 階段最常用的 println() 方法,用來(lái)在控制臺(tái)打印信息。
/** * @author 微信搜「沉默王二」,回復(fù)關(guān)鍵字 PDF */ public class PredefinedMethodDemo { public static void main(String[] args) { System.out.println("沉默王二,一枚有趣的程序員"); } }
在上面的代碼中,我們使用了兩個(gè)預(yù)先定義的方法,main() 方法是程序運(yùn)行的入口,println() 方法是 PrintStream 類的一個(gè)方法。這些方法已經(jīng)提前定義好了,所以我們可以直接使用它們。
我們可以通過(guò)集成開發(fā)工具查看預(yù)先定義方法的方法簽名,當(dāng)我們把鼠標(biāo)停留在 println() 方法上面時(shí),就會(huì)顯示下圖中的內(nèi)容:
println() 方法的訪問(wèn)權(quán)限修飾符是 public,返回類型為 void,方法名為 println,參數(shù)為 String x,以及 Javadoc(方法是干嘛的)。
預(yù)先定義方法讓編程變得簡(jiǎn)單了起來(lái),我們只需要在實(shí)現(xiàn)某些功能的時(shí)候直接調(diào)用這些方法即可,不需要重新編寫。
2)用戶自定義方法
當(dāng)預(yù)先定義方法無(wú)法滿足我們的要求時(shí),就需要自定義一些方法,比如說(shuō),我們來(lái)定義這樣一個(gè)方法,用來(lái)檢查數(shù)字是偶數(shù)還是奇數(shù)。
public static void findEvenOdd(int num) { if (num % 2 == 0) { System.out.println(num + " 是偶數(shù)"); } else { System.out.println(num + " 是奇數(shù)"); } }
方法名叫做 findEvenOdd,訪問(wèn)權(quán)限修飾符是 public,并且是靜態(tài)的(static),返回類型是 void,參數(shù)有一個(gè)整形(int)的 num。方法體中有一個(gè) if else 語(yǔ)句,如果 num 可以被 2 整除,那么就打印這個(gè)數(shù)字是偶數(shù),否則就打印這個(gè)數(shù)字是奇數(shù)。
方法被定義好后,如何被調(diào)用呢?
/** * @author 微信搜「沉默王二」,回復(fù)關(guān)鍵字 PDF */ public class EvenOddDemo { public static void main(String[] args) { findEvenOdd(10); findEvenOdd(11); } public static void findEvenOdd(int num) { if (num % 2 == 0) { System.out.println(num + " 是偶數(shù)"); } else { System.out.println(num + " 是奇數(shù)"); } } }
main() 方法是程序的入口,并且是靜態(tài)的,那么就可以直接調(diào)用同樣是靜態(tài)方法的 findEvenOdd()。
當(dāng)一個(gè)方法被 static 關(guān)鍵字修飾時(shí),它就是一個(gè)靜態(tài)方法。換句話說(shuō),靜態(tài)方法是屬于類的,不屬于類實(shí)例的(不需要通過(guò) new 關(guān)鍵字創(chuàng)建對(duì)象來(lái)調(diào)用,直接通過(guò)類名就可以調(diào)用)。
03、什么是實(shí)例方法?
沒(méi)有使用 static 關(guān)鍵字修飾,但在類中聲明的方法被稱為實(shí)例方法,在調(diào)用實(shí)例方法之前,必須創(chuàng)建類的對(duì)象。
/** * @author 微信搜「沉默王二」,回復(fù)關(guān)鍵字 PDF */ public class InstanceMethodExample { public static void main(String[] args) { InstanceMethodExample instanceMethodExample = new InstanceMethodExample(); System.out.println(instanceMethodExample.add(1, 2)); } public int add(int a, int b) { return a + b; } }
add() 方法是一個(gè)實(shí)例方法,需要?jiǎng)?chuàng)建 InstanceMethodExample 對(duì)象來(lái)訪問(wèn)。
實(shí)例方法有兩種特殊類型:
getter 方法
setter 方法
getter 方法用來(lái)獲取私有變量(private 修飾的字段)的值,setter 方法用來(lái)設(shè)置私有變量的值。
/** * @author 沉默王二,一枚有趣的程序員 */ public class Person { private String name; private int age; private int sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getSex() { return sex; } public void setSex(int sex) { this.sex = sex; } }
getter 方法以 get 開頭,setter 方法以 set 開頭。
04、什么是抽象方法?
沒(méi)有方法體的方法被稱為抽象方法,它總是在抽象類中聲明。這意味著如果類有抽象方法的話,這個(gè)類就必須是抽象的??梢允褂?atstract 關(guān)鍵字創(chuàng)建抽象方法和抽象類。
/** * @author 微信搜「沉默王二」,回復(fù)關(guān)鍵字 PDF */ abstract class AbstractDemo { abstract void display(); }
當(dāng)一個(gè)類繼承了抽象類后,就必須重寫抽象方法:
/** * @author 微信搜「沉默王二」,回復(fù)關(guān)鍵字 PDF */ public class MyAbstractDemo extends AbstractDemo { @Override void display() { System.out.println("重寫了抽象方法"); } public static void main(String[] args) { MyAbstractDemo myAbstractDemo = new MyAbstractDemo(); myAbstractDemo.display(); } }
輸出結(jié)果如下所示:
重寫了抽象方法
“零基礎(chǔ)學(xué)Java的方法有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!