bit confussed..threading concept

public class Tux extends Thread{

static String sName = "vandeleur";

public static void main(String argv[]){

Tux t = new Tux();

t.piggy(sName);

System.out.println(sName);

}

public void piggy(String sName){

sName = sName + " wiggy";

start();

}

public void run(){

for(int i=0;i < 4; i++){

sName = sName + " " + i;

}

}

}

wats the output?

i am getting as vandeleur............plz do explain

[503 byte] By [anbu210a] at [2007-11-27 2:35:26]
# 1
Jesus Christ...This has nothing to do with threads, but rather your misunderstanding of Java's passing of references by value and strings being immutable.
-Kayaman-a at 2007-7-12 2:53:47 > top of Java-index,Java Essentials,Java Programming...
# 2

here's the way:

public class Tux {

String sName = "vandeleur";

public static void main(String argv[]){

Tux t = new Tux();

t.piggy();

System.out.println(t.sName);

}

public void piggy(String sName){

sName = sName + " wiggy";

}

}

calvino_inda at 2007-7-12 2:53:47 > top of Java-index,Java Essentials,Java Programming...