java中没有指针,分为值传递和引用传递,这里的引用和C++中不同的,以String a=new String(“Romantic”)为例,左边表示new出来的“Romantic”在堆中生成,而左边的String a是在栈中生成一个引用,指向堆中生成的new String( “Romantic”)。其实很像指针指地址。在这里引用只能是类,基本数据类型只能是值传递!!!,java中很多东西都只适应与类,但可以稍加改动,比如map、set、list集合中的元素只能是类,但是基本数据类型int,可以换成Interger用,其实就是一个思想,万物皆类。
package test;
import java.util.*;
public class Main {
private String nn = new String("1");
private String[] mm = {"2","5"};
void test(String nn,String[] mm) {
nn = new String("3");
this.nn = "9";
mm[0] = "4";
System.out.println("in test(),mm[0]: "+mm[0]);
mm = new String[]{"8","7"};
System.out.println("in test(),nn: "+nn);
System.out.println("this.nn: "+this.nn);
System.out.println("mm[0]: "+mm[0]);
}
public static void main(String[] args) {
Main s = new Main();
s.test(s.nn,s.mm);
System.out.println(s.nn+" "+s.mm[0]);
}
}