zoukankan      html  css  js  c++  java
  • java 值传递和引用传递

    public class PassValue {

    /**
    * 值传递 基本数据类型参数
    * 值传递:方法调用时,实际参数吧他的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参数的值
    */
    static void exchage(int a,int b){//静态方法,交换a,b的值
    int temp;
    temp =a;
    a=b;
    b=temp;
    }


    public static void main(String[] args) {
    /**
    int i =10;
    int j =100;
    System.out.println("befeore call:"+"i="+i+" "+"j="+j);//调用前
    exchage(i, j);
    System.out.println("after call:"+"i="+i+" "+"j="+j);//
    //说明:调用exchange(i, j)时,实际参数i,j分别把值传递给相应的形式参数a,b,在执行方法exchange()时,
    //形式参数a,b的值的改变不影响实际参数i和j的值,i和j的值在调用前后并没改变。
    */


    //引用传递:也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,
    //在方法执行中,对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数值的改变将会影响实际参数的值。
    Book b = new Book("java",32.22f);
    System.out.println("before call: ");
    b.output();

    /**
    *引用传递-对象作为参数
    *如果在方法中把对象(或者数组)作为参数,方法调用时,参数传递的是对象的引用(地址),即在方法调用时,实际参数把对对象的引用(地址)传递给形式参数。这是实际参数与形式参数
    *指向同一个地址,即同一个对象(数组),方法执行时,对形式参数的饿改变实际上就是对实际参数的改变,这个结果在调用结束后背保留了下来。
    */
    b.change(b,"php",25.6f);
    System.out.println("after call: ");
    b.output();
    //说明:调用change(b,"c++",25.6f)时,对象b作为实际参数,把引用传递给相应的形式参数a_book,
    //实际上a_book也指向同一个对象,即该对象有两个引用名:b和a_book。在执行方法change()时,对形式参数a_book操作就是对实际参数b的操作。
    }


    }


    class Book{
    String name;
    private float price;
    Book(String name ,float price){
    this.name=name;
    this.price=price;
    }

    static void change(Book a_book,String name, float price){
    a_book.name= name;
    a_book.price=price;
    }

    public void output(){
    System.out.println("name:"+name+" "+"price:"+price);
    }
    }

  • 相关阅读:
    C# git .gitignore文件
    Python常用库
    STM32移植LWIP之客户端与服务端的数据传输
    linux_cam_test文件
    DEBUG调试文件
    Linux多线程总结
    Git add命令
    Git使用总结
    C语言中可变参数的使用
    Hi3518EV300编译U-Boot和内核报错:loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed. Aborted (core dumped)
  • 原文地址:https://www.cnblogs.com/wangruihua-521/p/3159163.html
Copyright © 2011-2022 走看看