java中的参数,分为引用数据类型和基本数据类型。对于引用数据类型,需要理解两点:一,变量的可见域;二,对象的引用。
具体如下。
public static void func1(String str){
//函数外部的str指针没有改变
str = "Android";
};
public static void func2(String str){
//str指向的对象没有变,这是String的方法的特性
str.replace("hello", "Android");
};
public static void func3(final StringBuffer sb){
//对象的值变了
sb.append("world");
};
public static void func4(final StringBuffer sb){
//final修饰,这里是编译不过的,因为指针不可以变
// sb = new StringBuffer("hello world");
};
public static void main(String[] args){
String str = "hello";
func1(str);
System.out.println("func1:" + str);
func2(str);
System.out.println("func2:" + str);
StringBuffer sbBuffer = new StringBuffer("hello");
func3(sbBuffer);
System.out.println("func3:" + sbBuffer);
}
输出结果如下: