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

Java 方法重載與變量作用域完整指南

     編輯:Java 相關知識

方法重載

同一類中多個方法同名但參數列表不同(類型、個數、順序),編譯器根據方法簽名匹配調用。

public static int max(int a, int b) { return a>b?a:b; }
public static double max(double a, double b) { return a>b?a:b; }
// 調用 max(3,5) → int 版本;max(3.1,5.2) → double 版本

重載規則

  • 必須參數列表不同
  • 不能僅靠返回類型、修飾符、異常聲明區分
  • 構造方法也可重載

變量作用域

變量類型聲明位置作用域範圍
局部變量方法內、代碼塊內從聲明處到包含它的塊結束
方法參數方法簽名整個方法體
for 循環初始化變量for 循環頭部整個循環(初始化、條件、迭代、循環體)
循環體內聲明變量循環體內部從聲明處到循環體結束

遮蔽與重複聲明規則

  • 非嵌套塊中可重複聲明同名局部變量
  • 嵌套塊內不可重複聲明(編譯錯誤)
  • 局部變量可遮蔽同名成員變量,需用 this.x 訪問成員

代碼示例

public class ScopeDemo {
    int field = 10; // 成員變量
    public void method(int param) { // 參數作用域整個方法
        int local = 20; // 局部變量
        if (true) {
            int block = 30; // 塊作用域
            // int local = 40; // 錯誤:嵌套塊不可重複聲明 local
        }
        for (int i=0; i<3; i++) { // i 作用域整個 for
            int inLoop = i; // 作用域僅循環體
        }
        // System.out.println(i); // 錯誤:i 不可見
    }
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved