java值传递,引用传递

来源:互联网 发布:热云数据 编辑:程序博客网 时间:2024/04/25 16:58

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型值传递之前1030int型值传递之后10string型值传递之前: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


1 0
原创粉丝点击