Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys

8.6.2 Parametrin paikka ratkaisee, ei nimi

Aloitteleva ohjelmoija sotkee yleensä aliohjelmakutsua tehdessään kutsuvan ja kutsuttavan parametrien nimiä keskenään. Parametrien nimillä ei ole Java-kielessä mitään merkitystä. Aliohjelmakutsussa ratkaisee vain parametrien paikka. Kunkin kutsussa oleva arvo "sijoitetaan" vastinparametrilleen kun aliohjelmaan mennään. Seuraava esimerkki havainnollistaa tätä:

java-muut\Parampaikka.java - parametrin paikka kutsussa ratkaisee

	/**
	 * Esimerkki miten parametrin paikka ratkaisee, ei nimi
	 * @author  Vesa Lappalainen
	 * @version 1.0, 19.01.2003
	 */
	public class Parampaikka {
	
	  private static void ali(int a, int b, int c) {
	    System.out.println("a=" + a + " b=" + b + " c=" + c);
	  }
	
	  public static void main(String[] args) {
	    int a=1,b=2,c=3;
	    ali(a,b,c);  // Tulostaa: a=1 b=2 c=3
	    ali(b,a,c);  // Tulostaa: a=2 b=1 c=3
	    ali(c,a,b);  // Tulostaa: a=3 b=1 c=2
	    ali(10,c,c); // Tulostaa: a=10 b=3 c=3
	  }
	}

On olemassa myös kieliä, joissa parametrit ovat nimettyjä. Tällainen on tarpeen jos parametreja on niin paljon, ettei niitä kaikkia välitetä joka kutsussa. Esimerkki tällaisesta kielestä on vaikkapa Microsoft Visual Basic for Application ( VBA).


Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys