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
相关文章推荐
- java-基础-异常
- java-基础-集合hashset
- Eclipse SVN插件比较 Subclipse vs Subversive
- java-并发-并发容器(4)
- Java三大框架之struts的上传文件
- java-并发-并发容器(3)
- java设计模式_简单工厂模式
- Java面向对象的三个基本特征:封装、继承、多态
- java bean对象转换json对象时过滤空值
- java 读取文件
- java-并发-ConcurrentHashMap高并发机制-jdk1.8
- java中对列表的添加或删除操作
- java-并发-ConcurrentHashMap高并发机制-jdk1.6
- java-并发-并发容器(2)
- eclipseli离线快捷安装插件
- JAVA面向对象-----final关键字
- JAVA面向对象-----final关键字
- java-并发-并发容器(1)
- Spring Boot的一个测试用例
- JAVA面向对象-----instanceof 关键字