Java的方法定義
1.方法的定義
方法是控制物件的動作行為方式與準則,在Java中方法位於類體下又有另一種含義。
普通的方法在類中稱為“例項方法”,因為方法的呼叫需要建立物件,而建立物件的過程又稱為“例項物件”的建立,這裡不再細說。
普通方法的書寫格式:
[訪問修飾符] class 類名 { [訪問修飾符] 返回值型別 方法名 (引數列表....) {
return 返回值型別的值;
} }
方法的訪問修飾符常用的如public、private,下面會舉出例子說明。
2.方法的分類
2.1 類中的無返回值方法
類中的無返回值方法就是返回值型別為 “void”的,帶有void的方法不會產生返回值。
下面是void方法的語法格式;
[訪問修飾符] class 類名 { [訪問修飾符] void 方法名 () { //帶有void,無返回值型別的方法 } }
下面是void方法帶有引數的語法格式(例子);
[訪問修飾符] class 類名 { [訪問修飾符] void 方法名 (int i) { //帶有void且有引數的方法 System.out.println("引數值為:"+i); } }
2.2 類中帶有返回值型別的方法
在類體中含有返回值的方法就是帶有資料型別,Java中八大資料型別所建立的方法,必須帶有return 資料型別返回值。
下面為八大資料型別通用建立的語法格式:
[訪問修飾符] class 類名 { [訪問修飾符] 資料型別 方法名 () { return 資料型別的值; } }
下面是int型別方法帶有引數的語法格式(例子);
[訪問修飾符] class 類名 { [訪問修飾符] int 方法名 (int i) { return 0; //或者對i進行操作,然後返回。 如return i; } }
3. 帶有訪問修飾符的方法
前面已經說了無返回值和帶有返回值的方法,接下來是訪問修飾符搭配使用的方法,通過訪問修飾符搭配的方法其範圍也有限制。
3.1 public 修飾的方法
通過 public 修飾的方法統稱為“公共方法”,其適用範圍在類中都可任意呼叫。(關於訪問修飾符的範圍,請檢視相關技術文件)
下面為public修飾無返回值的方法語法格式:
[訪問修飾符] class 類名 { public void 方法名 () { //無返回值型別的公共方法 } }
下面是public修飾帶有引數的修飾方法(例子):
[訪問修飾符] class 類名 { public 資料型別 方法名 (int i) { return 資料型別的值; } }
3.2 private 修飾的方法
private 稱為“私有”的意思,所修飾的方法意思就是私有的,僅直屬於類體中任意呼叫的方法,方法的命名稱為“私有方法”。(簡解,詳細請檢視相關文件)
下面為private修飾無返回值方法的語法格式;
[訪問修飾符] class 類名 { private void 方法名 () { //無返回值型別的私有方法 } }
下面是private修飾帶有引數的修飾方法(例子):
[訪問修飾符] class 類名 {
private 資料型別 方法名 (int i) {
return 資料型別的值;
}
}
3.3預設方法
預設方法就是不加任何修飾符的方法,其實命名是有名字的 private-default (簡解,詳細請檢視相關文件)
下面為預設無返回值的方法語法格式:
[訪問修飾符] class 類名 { void 方法名 () { //無返回值型別的預設方法 } }
下面是預設帶有引數的方法(例子):
[訪問修飾符] class 類名 { 資料型別 方法名 (int i) { return 資料型別的值; } }
3.4 protected 修飾的方法
protected 稱為“保護”的意思,也就是說所修飾的方法有著保護作用。(簡解,詳細請檢視相關文件)
下面為protected 修飾無返回值的方法語法格式;
[訪問修飾符] class 類名 {
protected void 方法名 () {
//無返回值型別的私有方法
}
}
下面是protected 修飾符帶有引數的修飾方法(例子):
[訪問修飾符] class 類名 { protected 資料型別 方法名 (int i) { return 資料型別的值; } }
4. static修飾的方法
static稱為“靜態”的意思,在類中方法命名的定義稱為“靜態方法”或者“類方法”。
static修飾方法之後,此方法將屬於類,不在屬於通過物件呼叫的方法(通過物件呼叫的靜態方法是錯誤的行為)。
靜態方法在建立後會直屬於類,當類載入的時候,靜態方法會自動生成一個記憶體空間,等待呼叫執行。
下面為static修飾無返回值的方法語法格式;
[訪問修飾符] class 類名 { [訪問修飾符] static void 方法名 () { //無返回值型別的靜態方法 } }
下面是protected 修飾符帶有引數的修飾方法(例子):
[訪問修飾符] class 類名 { [訪問修飾符] 資料型別 方法名 (int i) { return 資料型別的值; } }
注:帶有static資料型別的返回值接收的變數也必須是static所修飾的。
5. final修飾的方法
final稱為“最終”的意思,在類中方法命名的定義稱為“最終方法”或者“不可變的方法”。
final修飾方法之後,此方法將表示最終的方法,不能在出現繼承、重寫等問題。(詳細final定義這裡不在詳細說明,可檢視相關文件)
下面為final 修飾無返回值的方法語法格式;
[訪問修飾符] class 類名 { [訪問修飾符] final void 方法名 () { //無返回值型別的不可變方法 } }
下面是final 修飾符帶有引數的修飾方法(例子):
[訪問修飾符] class 類名 { [訪問修飾符] final 資料型別 方法名 (int i) { return 資料型別的值; } }
6.建構函式方法
建構函式方法又稱為“構造器”或者“構造方法”,其作用就是載入類的,在類建立例項的時候,會執行此方法。
下面為無引數的構造方法的語法格式;
[訪問修飾符] class 類名 { [訪問修飾符] 類名 () { //構造方法內的資料 } }
下面是帶有引數的構造方法修飾方法(例子):
[訪問修飾符] class 類名 { [訪問修飾符] 類名(引數列表...) { //對引數進行操作 } }
7.介面中的方法
介面中的方法預設型別為 public static final 返回值型別 方法名(),所以預設可以寫為“ 返回值型別 方法名(引數列表...);” (簡解,詳細請檢視相關文件)
下面為介面無返回值的方法語法格式;
[訪問修飾符] interface 介面名{ [訪問修飾符] void 方法名 (); }
下面是介面帶有引數的修飾方法(例子):
[訪問修飾符] interface 介面名{ [訪問修飾符] int 方法名 (int i); }
8.泛型方法
泛型方法就是普通方法加上泛型,起到方法的約束作用。 (簡解,詳細請檢視相關文件)
下面為泛型無返回值的方法語法格式;
[訪問修飾符] class 類名 { [訪問修飾符] <> 返回值型別 () { //泛型方法內的資料 } }
下面是泛型帶有引數的修飾方法(例子):
[訪問修飾符] class 類名 { [訪問修飾符] <K> 返回值型別 (K k) { //泛型方法內的資料 } }
下面為泛型+static+無返回值的語法格式;
帶有static的泛型方法,又稱為“靜態泛型方法”。
[訪問修飾符] class 類名 { [訪問修飾符] static <> 返回值型別 () { //靜態泛型方法內的資料 } }
下面是泛型+static+帶有引數的修飾方法(例子):
[訪問修飾符] class 類名 { [訪問修飾符] static <K> 返回值型別 (K k) { //靜態泛型方法內的資料 } }
9.抽象類的方法
抽象類的方法具有抽象化。 (簡解,詳細請檢視相關文件)
下面為抽象化無返回值的方法語法格式;
[訪問修飾符] class 類名 { [訪問修飾符] abstract 返回值型別 方法名() { //抽象化方法內的資料 } }
下面是抽象化有返回值的方法(例子):
[訪問修飾符] class 類名 { [訪問修飾符] abstract int 方法名 (int i) { return i; } }
10.類中的類方法(多用於單例工廠的方法)
類方法常用與物件(例項)的建立,大部分類方法多用於返回物件。
下面為無返回值的類方法:
[訪問修飾符] class 類名 { [訪問修飾符] static 類名 方法名(){ //操作 } }
下面為帶有返回值的類方法:
[訪問修飾符] class 類名 { [訪問修飾符] static 類名 方法名(類名 物件名...){ return 物件名; } }
小結:文章剛開始介紹了常用方法的語法結構,之後開始加入修飾符的方法,通過修飾符進一步擴充套件static和final所修飾的方法,然後例舉了介面方法、泛型方法、抽象化的方法,最後舉出了類方法用法,由簡入深。小夥伴們不懂得可以照著教學視訊或者課本的例子,自己對照一下然後由此擴充套件,迴圈漸進慢慢就懂了。方法的語法結構並不難,難點在於他們的適用性,已經他們的返回值,如何去控制如何去使用。等你自己慢慢地學會寫出方法嘞,這樣你就真正的學會方法的建立了,多說不宜,加油年輕人o( ̄▽ ̄)d
轉載記得留言喲~