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
轉載記得留言喲~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/281932.html
標籤:Java
