在Java中,方法參數(shù)(transaction parameters)分為形式參數(shù)(formal parameters)和實(shí)際參數(shù)(actual parameters)兩種。雖然它們有著相似的名字,但它們具有一些顯著的區(qū)別。
形式參數(shù)是定義在方法頭部的參數(shù),它們只存在于方法中,僅在方法被調(diào)用時(shí)才能使用。形式參數(shù)的作用是用來指定調(diào)用該方法時(shí)需要傳遞的參數(shù)類型和順序。形參的類型和數(shù)目是由方法開發(fā)人員在方法定義中明確規(guī)定的。
實(shí)際參數(shù)是在調(diào)用方法時(shí)傳遞給方法的值。它們是根據(jù)方法定義中的形式參數(shù)來傳遞的。在方法調(diào)用時(shí),必須為每個(gè)形式參數(shù)提供一個(gè)相應(yīng)的實(shí)際參數(shù)。實(shí)際參數(shù)的個(gè)數(shù)、類型和順序必須與形式參數(shù)一致,否則程序?qū)o法運(yùn)行。
public class Example { void method(int a, String b) { // a和b是形參 // do something } public static void main(String[] args) { Example ex = new Example(); ex.method(1, "example"); // 1和"example"是實(shí)參 } }
在上面的例子中, method()方法有兩個(gè)形式參數(shù):一個(gè)整數(shù)類型和一個(gè)字符串類型。當(dāng)方法被調(diào)用時(shí),main()方法向method()方法傳遞了兩個(gè)實(shí)際參數(shù),一個(gè)整數(shù)值1和一個(gè)字符串"example"。因此,a參數(shù)的值將為1,b參數(shù)的值將為"example"。
因此,Java的形式參數(shù)和實(shí)際參數(shù)是不同的概念。形式參數(shù)是方法定義中列出的參數(shù),它們只存在于方法內(nèi)部。而實(shí)際參數(shù)是在調(diào)用方法時(shí)傳遞給方法的值,它們的值和參數(shù)類型在方法調(diào)用時(shí)被確定。