天天看点

Java学习笔记15. 形式参数与实际参数

         Java中的方法可以分为:有参方法和无参方法。使用带参数的方法时,方法的参数可以是一个到多个。

参数可以分为形式参数和实际参数。在实际调用方法的时候使用的参数就是实际参数,而在被调用时才临时分配内存的参数是形式参数。

可以这么理解,方法在被调用前只是一个蓝图。只有在被调用的时候才把这个蓝图变成一个在内存中存在的方法,供调用者使用。

参数由数据类型和变量名组成,多个参数之间用逗号隔开。示例代码如下:

public class demoMethod{
    public static void main(String[] args){
        String s = "Nice to meet you!";
        demoMethod dm = new demoMethod();
        dm.saySomething(s);
    }
        void saySomething(String words){
        System.out.println("I am saying:"+words);
    }
}
           

上面这个例子里,saySomething(String words)是可以被调用的方法,它只有一个String类型的参数words。

在没有调用之前,参数words在内存中不存在,调用的时候才被分配内存空间。它的作用范围也只在这个方法内部。当调用结束,内存即被释放。方法saySomething(String words)又回归为概念蓝图。

上面的方法的参数只有一个,有的方法有多个参数,就要用逗号隔开。而且,调用的时候,传入的实际参数的个数,类型与位置都要与形式参数一一对应,不然编译器会报错。示例程序如下:

public class demoMultiParameter{
	public static void main(String[] args){
		String n = "Jim";
		int a = 21;
		test ts = new test();
		ts.multi(n,a);
	}
}
class test{
	void multi(String name,int age){
		System.out.println("My name is:"+name);
		System.out.println("My age is:"+age);
	}
}
           

被调用方法multi在类test里。方法的两个参数分别是Sting类型的name和int类型的age。这两个参数是形式参数。在被调用时,需要传入两个实际参数n和a。实际参数与形式参数是一一对应的,类型一致,数量一致,位置对应。这样系统才不会报错。

当然,有的方法本身没有参数,在被调用时,只执行相关代码,执行完毕就返回被调用处。这种比较简单,就不列举了。