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

Java 基礎筆記:介面、變數作用域與參數傳遞機制

     編輯:Java 綜合教學

一、介面

Java 不支援多重繼承(一個類別只能有一個直接父類別),但可透過實作多個介面達成類似效果。介面定義語法:

[介面修飾詞] interface 介面名 [extends 父介面列表] {
    // 介面主體:常數與抽象方法
}
  • 修飾詞:public、abstract、strictfp 等;無修飾詞則為預設存取層級(包內可見)。
  • 成員欄位:隱含 public static final,必須初始化。
  • 成員方法:隱含 public abstract(Java 8 起可有 default/static 方法)。
  • 介面無建構子,無法直接實例化。

二、變數作用域

Java 變數分三類,作用域依宣告位置而異:

類型宣告位置作用域備註
靜態成員變數(類別變數)類別中,static 修飾全域:類別載入時建立,程式結束銷毀透過類別名或實例存取
非靜態成員變數(實例變數)類別中,無 static類別級:實例建立時建立,實例銷毀時回收需透過實例存取;非靜態方法可直接存取
區域變數方法、建構子、區塊內區塊級:從宣告處開始至區塊結束包含參數與方法內區域變數;無預設值,必須手動初始化

同名遮蔽:區域變數優先於成員變數(就近原則);不同方法可重複使用相同區域變數名。

三、方法呼叫的值傳遞機制

Java 唯一支援值傳遞。呼叫時,引數的值被複製給參數變數:

  • 基本型別:複製實際數值,方法內修改不影響原變數。
  • 參考型別:複製參考位址,方法內可透過參考修改物件內容,但無法改變原參考指向的物件。

類比 C 指標:傳遞參考值類似傳遞指標,可修改所指物件,但無法修改指標本身(即無法讓原變數指向新物件)。

void swap(Obj a, Obj b) {
    Obj temp = a; // 僅交換區域參考
    a = b;
    b = temp;
}
// 呼叫端物件參考不會改變

若需在方法中修改呼叫端的參考,可改用包裝類別、陣列/集合或回傳新物件。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved