java 中的基本数据类型的传递和引用数据类型的传递

来源:互联网 发布:洛奇英雄传帧数优化 编辑:程序博客网 时间:2024/06/16 04:37
public class TestCircle{public static void main(String[] args){Circle circle1 = new Circle(1);Circle circle2 = new Circle(2);swap1(circle1,circle2);System.out.println(circle1.radius+"\t\t"+circle2.radius);// 此处输出为 1  2   swap2(circle1,circle2);System.out.println(circle1.radius+"\t\t"+circle2.radius);// 此处输出为 2  1   }public static void swap1(Circle x,Circle y){/* x与circle1 具有相同的引用值 y有与circle2具有相同的引用值虽然引用值x和y发生了交换了  但是对象本身的属性没有变化 x和y还是指向对象其本身的属性(半径)*/Circle temp = x;x = y;y = temp;}public static void swap2(Circle x,Circle y){/* x与circle1 具有相同的引用值  y有与circle2具有相同的引用值由 x和y调用对象的引用值并发生了交换  对象的属性被改变*/double temp = x.radius;x.radius = y.radius;y.radius = temp;}}class Circle{double radius;Circle(double newRadius){radius = newRadius;}}

0 0
原创粉丝点击