public class te extends test{
private static String str_sjny[] = null;
private static int i = 0;
static{
str_sjny = new String[2];
str_sjny[0] = "123";
str_sjny[1] = "321";
}
public te(){
}
public void tes(){
ste(str_sjny,i);
System.out.println("数组下标为一等于:"+str_sjny[1]+" i等于="+i);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
te te = new te();
te.tes();
}
}
public abstract class test {
public void ste(String str_sjny[],int i){
str_sjny[0] = "111";
str_sjny[1] = "222";
i = 10000;
}
}
各位猜猜等于几?
java里面只有一种参数传弟,哪就是值传递,但是为什么又会出现引用形数据传递与基础数据传递差别呢,这得从数据存放类型说起了,
我们都知疲乏,对于一基础数据来说,数据空间里存放的是数据类型,以及数据的实际值,比如i = 0,在这个空间里面的值就是0
而引用数据则不是这样的,引用数据是把数据的类型和对数据的引用放在里面,所以你做值传递时,你只是把这个值传进去了,第一种就是把0传进去了,而第二种
就是把引用传进去了,让另一个参数也指向原先的引用,所以你对后面的参数的修改其实就是对传以前所引用的值的修改所以两个值都会发生改变