• 值传递


    Java中,每一个new语句返回的都是一个指针的引用,只不过在大多数情况下Java不关心如何操作这个指针,唯一需要注意的是在给函数传递对象的时候

    传值和引用中有静态变量,私有变量,clone等问题,对于基本数据类型和对象变量,存在不一样的操作:

    • 基本类型变量:传递值的副本(副本变,本身不变)
    • 对象变量:传递引用的副本(副本变,本身也变)【即复制指向地址的指针】

      不论Java参数的类型是什么,一律传递的都是参数的副本

    在Java中存在一个比较特殊的类型,String,也是对象型变量,只不过String是一个非可变类,使得值传递和引用传递没有区别

    public class Example{
        String str=new String("good");
        char[]ch={'a','b','c'};
        public static void main(String args[]){
            Example ex=new Example();
            ex.change(ex.str,ex.ch);
            System.out.print(ex.str+" and ");
            System.out.print(ex.ch);
        }
        public void change(String str,char ch[]){
       //引用类型变量,传递的是地址,属于引用传递。
            str="test ok";
            ch[0]='g';
        }
    }

    答案:

    good and gbc
  • 相关阅读:
    [转]TeeChart经验总结 5.Axis
    查询
    [转]VS2010安装说明及所有安装出错的解决办法
    [转]游标
    [转]在C#中实现串口通信
    delphi日期的使用
    Http(1)
    表的操作
    存储过程
    CKeditor
  • 原文地址:https://www.cnblogs.com/zyxiaohuihui/p/8687084.html
Copyright © 2020-2023  润新知