首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2EE

Java 成員函數詳解:定義、重載、靜態成員與建構子

     編輯:J2EE

成員函數的基本定義

在 Java 中,成員函數(方法)相當於 C/C++ 的函數,是類行為的核心封裝。定義成員函數的標準語法為:

返回類型 方法名(參數列表) {
    // 方法體
    return 值; // void 類型除外
}

每個方法必須聲明返回類型(含 void),參數列表以逗號分隔多個參數。返回類型告訴編譯器方法將產生何種數據,若需標示執行成敗,常採用 boolean 返回類型。

實例:矩形類的面積計算與繪製

以下範例展示 Rectangle 類如何透過成員函數計算面積並繪製圖形:

public class DrawRect {
    public static void main(String[] args) {
        class Rectangle {
            int width, height, area;
            
            public Rectangle(int w, int h) {
                width = w;
                height = h;
                area = getArea(w, h);
            }
            
            protected int getArea(int w, int h) {
                return w * h;
            }
            
            public void drawRect() {
                // 繪製矩形邊框邏輯
                for (int i = width; i > 0; i--) System.out.print("#");
                System.out.println();
                for (int i = height - 2; i > 0; i--) {
                    System.out.print("#");
                    for (int j = width - 2; j > 0; j--) System.out.print(" ");
                    System.out.println("#");
                }
                for (int i = width; i > 0; i--) System.out.print("#");
                System.out.println();
            }
        }
        
        int w = Integer.parseInt(args[0]);
        int h = Integer.parseInt(args[1]);
        Rectangle myRect = new Rectangle(w, h);
        myRect.drawRect();
    }
}

注意:System.out.print("") 用於刷新緩衝區,確保輸出即時顯示;若發現無輸出,請檢查是否以空字串結束輸出流。

存取修飾符:public、private、protected

  • public:任何類均可調用
  • private:僅限聲明該方法的類內部調用
  • protected:Java 中僅作為關鍵字保留,無實際功能(不同於 C++)

封裝私有變量的常見模式是提供公共的 setter/getter:

public void setWidth(int w) { width = w; }

方法重載

同名方法可透過不同參數列表實現多態:

void getArea(int w, int h);
void getArea(float w, float h);

編譯器根據實際傳入參數類型自動選擇對應版本——整數調用第一個,浮點數調用第二個。

靜態成員

static 修飾的變量/方法屬於類而非實例,所有實例共享同一份拷貝:

static int version = 1;

優勢在於無需建立對象即可透過 類名.靜態成員 直接訪問,例如 System.out.println() 中的 out 即為 System 類的靜態成員。

建構子與解構子

  • 建構子:與類同名、無返回類型、通常 public,用於初始化實例變量。
    範例:public Rectangle(int w, int h) { width=w; height=h; area=getArea(w,h); }
  • 解構子:Java 無顯式解構子,垃圾回收器自動管理記憶體;若需釋放原生資源,可實作 finalize()(但不推薦,見後文最佳實踐)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved