Java.实现交换两个变量的值(要求:需要交换实参的值)(类和对象的应用)

1> 公有public

class MyValue {
    public int Val;

}

public class Testdemo {
    //实现交换两个变量的值(要求:需要交换实参的值)
    public static void swap(MyValue myValue1,MyValue myValue2){
        int tmp = myValue1.Val;
        myValue1.Val = myValue2.Val;
        myValue2.Val = tmp;
    }
    public static void main(String[] args) {
        MyValue myValue1 = new MyValue();
        myValue1.Val = 10;
        MyValue myValue2 = new MyValue();
        myValue2.Val = 20;
        System.out.println(myValue1.Val);
        System.out.println(myValue2.Val);
        System.out.println("交换后:");
        swap(myValue1,myValue2);//传的是对象的引用
        System.out.println(myValue1.Val);
        System.out.println(myValue2.Val);
    }


下图说明swap在交换时的具体操作 

 Java.实现交换两个变量的值(要求:需要交换实参的值)(类和对象的应用)_第1张图片

 

 

2>一般来说。无特殊要求,属性都设置为私有private

class MyValue {
   
    private int Val;//如果写为私有的就需要提供get和set方法

    public int getVal() {
        return Val;
    }

    public void setVal(int val) {
       this.Val  = val;
    }
}

public class Testdemo {
    //实现交换两个变量的值(要求:需要交换实参的值)
      
    public static void swap(MyValue myValue1,MyValue myValue2){
        int tmp = myValue1.getVal();
        myValue1.setVal(myValue2.getVal());//Val是私有的,所以需要get才能得到
        myValue2.setVal(tmp);
    }
    public static void main(String[] args) {
        MyValue myValue1 = new MyValue();
        myValue1.setVal(10);
        MyValue myValue2 = new MyValue();
        myValue2.setVal(20);
        System.out.println(myValue1.getVal());
        System.out.println(myValue2.getVal());
        System.out.println("交换后:");
        swap(myValue1,myValue2);
        System.out.println(myValue1.getVal());
        System.out.println(myValue2.getVal());
    }

Java.实现交换两个变量的值(要求:需要交换实参的值)(类和对象的应用)_第2张图片

你可能感兴趣的:(java,java)