您的位置:首页 > 编程语言 > Java开发

java值传递,引用传递

2016-07-23 19:47 489 查看

1.值传递

值传递:传递的是值的拷贝,不会改变值

public class ValueTransmit {
public static void main(String[] s){
ValueTransmit value = new ValueTransmit();
int number = 10;
System.out.println("int型值传递之前"+number);
value.valueTest(number);
System.out.println("int型值传递之后"+number);

String string = "world";
System.out.println("string型值传递之前:"+string);
value.valueTest(string);
System.out.println("string型值传递之后"+string);
}
public void valueTest(int number){
number = 30;
System.out.println(number);
}
public void valueTest(String str){
str = "hello";
System.out.println(str);
}
}
结果:
int型值传递之前10
30
int型值传递之后10
string型值传递之前:world


2.引用传递

引用传递:传递的是值的引用

public class QuoteTransmit {
public static void main(String[] args){

QuoteTransmit quoteTransmit = new QuoteTransmit();
Student student = new Student();
System.out.println("刚初始化:age:"+student.age+"\tname:"+student.name);

student.age = 30;
student.name = "hellor";
System.out.println("引用传递之前:年龄="+student.age);
System.out.println("引用传递之前:姓名="+student.name);

quoteTransmit.quoteTest(student);
System.out.println("引用传递之后:年龄="+student.age);
System.out.println("引用传递之后:姓名="+student.name);

}
public void quoteTest(Student student){
student.age = 20;
student.name = "siyu";
}

}
class Student{
int age = 10;
String name = "ruhua";
}


结果:
刚初始化:age:10 name:ruhua
引用传递之前:年龄=30
引用传递之前:姓名=hellor
引用传递之后:年龄=20
引用传递知乎:姓名=siyu
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: