zoukankan      html  css  js  c++  java
  • 值传递

    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
  • 相关阅读:
    vim
    Linux 软链接和硬链接
    常用命令
    linux 二级目录结构
    关于bash shell的理解
    虚拟机网络模式
    安装虚拟机
    date 命令
    使用3种协议搭建yum仓库
    ubuntu update时发生错误
  • 原文地址:https://www.cnblogs.com/zyxiaohuihui/p/8687084.html
Copyright © 2011-2022 走看看