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關鍵字的方法,在類定義時沒有占用記憶體,只有在類被例項化成物件時,物件呼叫該方法才被分配記憶體。其次,靜態方法中只能呼叫靜態成員或者方法,不能呼叫非靜態方法或者非靜態成...
靜態方法呼叫非靜態方法
靜態方法不能 直接 呼叫非靜態變數,非靜態方法可以引用靜態變數。靜態方法不屬於物件,是屬於類的,不需要例項化 而非靜態變數是屬於物件的,需要先例項化。在乙個類的靜態成員中去訪問其非靜態成員,因為類的靜態成員先於類的非靜態成員存在,訪問乙個記憶體中不存在的東西會出錯。相反,非靜態方法可以引用靜態變數。...