Java基本类型和引用类型(值传递)

Posted yfceshi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基本类型和引用类型(值传递)相关的知识,希望对你有一定的参考价值。

【关键词】
【问题】
· 加深对基本类型和引用类型的理解;
【效果图】
技术分享
【分析】
  • 參见最后的【參考资料】
    【解决方式】

【代码】
public void test() throws Exception {
System.out.println("\nint:=================");
int i = 2;
System.out.println("before:" + i);
change1(i);
System.out.println("after:" + i);
 
System.out.println("\nInteger:=================");
Integer integer = 3;
System.out.println("before:" + integer);
change2(integer);
System.out.println("after:" + integer);
 
System.out.println("\nString:=================");
String str = new String("xxx");
System.out.println("before:" + str);
change3(str);
System.out.println("after:" + str);
 
 
System.out.println("\nString[]:=================");
String[] array = new String[]{"a", "b", "c"};
System.out.println("before:" + array[0]);
change4(array);
System.out.println("after:" + array[0]);
 
System.out.println("\nBook:=================");
Book book = new Book("book1");
System.out.println("before:" + book.name);
change5(book);
System.out.println("after:" + book.name);
 
System.out.println("\nint[]:=================");
int[] int_array = new int[]{1, 2, 3};
System.out.println("before:" + int_array[0]);
change6(int_array);
System.out.println("after:" + int_array[0]);
}
 
 
public void change1(int i) {
i = 4;
}
 
public void change2(Integer integer) {
integer = (Integer) 8;
}
 
public void change3(String str) {
str = new String("yyy");
}
 
private void change4(String[] array) {
array[0] = "A";
}
 
private void change5(Book book) {
book.name = "book2";
}
 
private void change6(int[] int_array) {
int_array[0] = 10;
}
 
private class Book {
public String name;
 
Book(String name) {
this.name = name;
}
}
【參考资料】








以上是关于Java基本类型和引用类型(值传递)的主要内容,如果未能解决你的问题,请参考以下文章

Java 值传递和引用传递

java引用传递和值传递

理解java值传递与引用传递

Java中的引用传递和值传递

理解Java中的引用传递和值传递

(转载)理解Java中的引用传递和值传递