發新話題

Java 教程《語法說明》定義 Method

Java 教程《語法說明》定義 Method

■ 定義 Method
[access-modifiers]  [static]  [final]  [static] [final] [synchronized] [abstract] [native] returnTypes methodName( [parameterList] )  [throws 例外物件] {
  ‥‥‥  // ClassBody
}

[註] access-modifiers 指 public|protected|private
  returnType 為傳回型態。

[說明]
1. 抽像 method(method 前加上修飾字 abstract)不需有實質的內容,只要提供 method 的原型介面,也就是該 method 的名稱、和參數列的定義。
2. abstract 不可與 private、static、或是 final 混用,否則會產生編譯錯誤。
3. method 的 signature 由 method 名稱、formal parameters 的個數和資料型態所組成。
 同一個 class 內不可以宣告有相同 signature 的 methods,否則會產生 compile-time error。

[範例]
private void myMethod( ) {
  System.out.println("Hello World!!");
}


◆ Static Methods 和 Variables
static methods
[other-method-modifiers] static returnType methodName( [parameterList] ) {
  /* Java statements here */
}

static variables
[other-field-modifiers] static dataType variableName;

[說明]
1. 宣告為 static 的 method,不須經由該 class 的物件進行存取。
2. static method 不可以宣告為 abstract,也不可以在 subclass 內被 redefined。

[範例]
static void myMethod( ) {  // 靜態方法
  /* Java statements */
}
static int myNumber;  // 靜態變數


◆ Synchronized Methods
[other-modifiers] synchronized returnType methodName( [parameterList] ) {
  /* Java statements */
}

[說明]
1. Synchronized Methods 在執行前會先鎖定(lock)。
2. 如果是類別方法,則伴隨 Class 物件的鎖將被使用。如果是非靜態方法,則伴隨 this 物件的鎖將被使用。

[範例]
public synchronized void addItem(Object obj) {
  /* Java statements */
}


◆ Native Methods
native 方法以其它的程式語言撰寫,如 C++、Delphi 等。native 方法的本體只以一個分號結尾。

[範例]
public native int myNativeMethod(int x);

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。