zoukankan      html  css  js  c++  java
  • Java中的参数传递

    当然要看你怎么定义by value 和 by reference。Java的官方文档【3】 中如此描述:“When the method or constructor is invoked, the values of the actual argument expressions initialize newly created parameter variables.”但是作为面向对象的语言,一个对象的值又是什么呢?所以这里value并不等同于面向过程中的定义。在C语言里,或者是一个值,或者就是一个地址(引用)。但是Java里面,对象的值,就是对象的地址的值(具体见后面的例子)。

    基本总结:

    基本类型作为参数传递时,是传递值的拷贝,无论你怎么改变这个拷贝,原值是不会改变的。

    对象作为参数传递时,是把对象在内存中的地址拷贝了一份传给了参数。

    String类是个特殊的类,对它的一些操作符是重载的,所以String对象和基本类型一样,一般情况下作为参数传递。

    例子:

    参考:

    【1】http://java.ccidnet.com/art/3737/20050527/472879_1.html

    【2】http://javadude.com/articles/passbyvalue.htm

    【3】http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.4.1

  • 相关阅读:
    MySQL -- select count(1) 计算一共有多百少符合条件的行
    Python3 -- 文件I/O总结(with、read、write、txt、CSV等)
    Linux -- wget 之 FTP篇
    Linux -- head/tail 查看文件的指定行数
    linux -- 查看linux磁盘容量和文件夹所占磁盘容量
    Linux -- 查询某个文件夹下的文件数量
    Python3 -- 查看python安装路径以及pip安装的包列表及路径
    Python3 --Linux 编码注释# -*- coding:utf-8 -*-
    VisualStudio2013 如何打开之前版本开发的(.vdproj )安装项目
    const int *p与int *const p的区别(转:csdn,suer0101)
  • 原文地址:https://www.cnblogs.com/ainima/p/6331331.html
Copyright © 2011-2022 走看看