java按值传递

package com.alogrithm.test2;

public class Refs  {
	   public static void main(String[] args)  {
	      MyPoint p1 = new MyPoint(10, 20);
	      MyPoint p2 = new MyPoint(30, 40);

	      System.out.println("Before swap() p1 is " + p1 + ", and p2 is " + p2);
	      swap(p1, p2);
	      System.out.println("After swap() p1 is " + p1 + ", and p2 is " + p2);
	      System.out.println("----------------------------------------------");

	      System.out.println("Before change_1(), p1 is " + p1);
	      change_1(p1);
	      System.out.println("After change_1(), p1 is " + p1);
	      System.out.println("----------------------------------------------");

	      System.out.println("Before change_2(), p1 is " + p1);
	      change_2(p1);
	      System.out.println("After change_2(), p1 is " + p1);
	      System.out.println("----------------------------------------------");
	 
	      return;
	   }

	   public static void swap(MyPoint arg1, MyPoint arg2)  {
	      MyPoint temp;

	      temp = arg1;
	      arg1 = arg2;
	      arg2 = temp;

	      System.out.println("In swap() p1 is " + arg1 + ", and p2 is " + arg2);
	   }

	   public static void change_1(MyPoint arg1)  {
	      arg1 = new MyPoint(100, 100);
	      System.out.println("In change_1() p1 is " + arg1);
	   }

	   public static void change_2(MyPoint arg1)  {
	      arg1.x = 100;
	      arg1.y = 101;
	      System.out.println("In change_1() p1 is " + arg1);
	   }
	}

	class MyPoint  {
	      public Integer x, y;

	      public MyPoint(Integer arg_x, Integer arg_y)  {
	         x = arg_x;
	         y = arg_y;
	      }

	      public String toString()  {

	         return "MyPoint[x=" + x + ",y=" + y + "]";
	      }
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值