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

    java中方法内部修改变量说明:

    1、对于基本类型参数,在方法体内对参数进行重新赋值,并不会改变原有变量的值

    2、对于引用类型参数,在方法体内对参数进行重新赋予引用,并不会改变原有变量所持有的引用。 

    3、方法体内对参数进行运算,不影响原有变量的值。 

    4、方法体内对参数所指向对象的属性进行操作,将改变原有变量所指向对象的属性值。 
    --------------------- 


    public class Main {

    private static void getMiddleOne(boolean b, Boolean boo, Boolean[] arr){
    b = true; //形参,不会改变原有值
    boo = new Boolean(true); //引用变量的直接操作相当于值传递,不会改变原来的引用变量
    arr[0] = true; //引用变量的属性的操作,会改变原有引用的属性,相当于传址调用
    }

    //测试
    public static void main(String[] args) {
    boolean b = false;
    Boolean boo = new Boolean(false);
    Boolean[] arr = new Boolean[]{false};

    getMiddleOne(b, boo, arr);

    System.out.println(b);
    System.out.println(boo.toString());
    System.out.println(arr[0]);

    /**
    * output:
    * false
    * false
    * true
    */
    }

  • 相关阅读:
    Redundant Connection
    Recover Binary Search Tree
    Min Stack
    *Flatten Binary Tree to Linked List
    Copy List with Random Pointer
    Binary Tree Maximum Path Sum
    Arithmetic Slices
    Integer to English Words
    Unique Email Addresses
    Mycat(水平拆分--分表 全局序列)
  • 原文地址:https://www.cnblogs.com/zhangshiwen/p/9790783.html
Copyright © 2011-2022 走看看