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
轉載記得留言喲~