11 方法,靜態 非靜態方法

2021-10-01 02:45:19 字數 1159 閱讀 9274

public

class

demo11

//修飾符 public 公共的,可以在其他類中呼叫到此方法

//有static修飾的方法就是靜態方法

//沒有static修飾的方法就是非靜態方法

//返回值

//void是空返回值(可以return;)不需要return值,如main方法不能return值

//引數 可以是以下型別

//基本資料型別 引數名

//陣列 陣列名

//類 物件名

//介面 介面名

//多個引數英文逗號隔開

public

static

void

main

(string[

] args)

;int r3=

addarr

(arr1)

; system.out.

println

(r3)

;int

arr2=

;int r4=

addarr

(arr2)

;//方法可以多次呼叫

system.out.

println

(r4)

;//return;

}///**注釋,滑鼠放到方法名中可顯示*/

/** * 兩整數相加返回和(非靜態方法-沒有static修飾)

* @param i

* @param y

* @return

*/public

intadd

(int i,

int y)

/** * 兩整數相減(靜態方法-有static修飾)

* @param i

* @param y

* @return

*/public

static

intcut

(int i,

int y)

//如果要寫個方法,不論是傳2個或2個以上整數,都會幫我計算出它們的和結果返回

public

static

intaddarr

(int

arr)

return res;

}}

方法 靜態 非靜態

方法add1 add2和multiply add1 multiply都是靜態的方法,所以可以不通過建立物件而只用 類名.方法 名呼叫即可 方法add1和main方法同在乙個類program中,因此省略 方法名.非靜態方法add2只能通過例項化的方法來呼叫 否則會報13行的錯誤。using syste...

靜態方法和非靜態方法

首先,兩者本質上的區別是 靜態方法是在類中使用staitc修飾的方法,在類定義的時候已經被裝載和分配。而非靜態方法是不加static關鍵字的方法,在類定義時沒有占用記憶體,只有在類被例項化成物件時,物件呼叫該方法才被分配記憶體。其次,靜態方法中只能呼叫靜態成員或者方法,不能呼叫非靜態方法或者非靜態成...

靜態方法呼叫非靜態方法

靜態方法不能 直接 呼叫非靜態變數,非靜態方法可以引用靜態變數。靜態方法不屬於物件,是屬於類的,不需要例項化 而非靜態變數是屬於物件的,需要先例項化。在乙個類的靜態成員中去訪問其非靜態成員,因為類的靜態成員先於類的非靜態成員存在,訪問乙個記憶體中不存在的東西會出錯。相反,非靜態方法可以引用靜態變數。...