java 基础:方法调用中的值传递是call by value,并且传递的是参数的值的拷贝,而不是引用
public class TestExtends {
    public  static void main(String[]args){
        int s = 10;
        System.out.println(System.identityHashCode(s));
        s=3*s;
        int num = 30;
        System.out.println(System.identityHashCode(s));
        System.out.println(System.identityHashCode(num));
}
输出
460141958
1163157884
1163157884
java-core P121
java中参数传递给方法,总是按值调用call by value。
在方法中,如果参数是对象,那操作的是对象的引用的拷贝。
如果参数是值,操作的是值的拷贝。
public class TestExtends {
    public  static void main(String[]args){
        A a =new A("bob");
        A b = new A("lucy");
        a.swap(a,b);
        System.out.println(a.getName()+" "+b.getName());
        A temp = new A("");
        temp=a;
        a=b;
        b=temp;
        System.out.println(a.getName()+" "+b.getName());
        int i =1;
        int j = 2;
        a.swap2(i,j);
        System.out.println(i+" "+j);
    }
}
class A{
    public int x=1;
    void swap(A a,A b){
        A temp = new A("---");
        temp=a;
        a=b;
        b=temp;
    }
    void swap2(int a ,int b){
        int c = 0;
        c=a;
        a=b;
        b=c;
    }
    private String  name;
    public  A(String name){
        this.name = name;
    }
    public String getName(){
        return name;
    }
}
bob lucy
lucy bob
1 2
java 基础:方法调用中的值传递是call by value,并且传递的是参数的值的拷贝,而不是引用的更多相关文章
- java基础:方法的定义和调用详细介绍,方法同时获取数组最大值和最小值,比较两个数组,数组交换最大最小值,附练习案列
		1. 方法概述 1.1 方法的概念 方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 注意: 方法必须先创建才可以使用,该过程成为方法定义 方法创建后并不是直接可 ... 
- JAVA方法调用中的解析与分派
		JAVA方法调用中的解析与分派 本文算是<深入理解JVM>的读书笔记,参考书中的相关代码示例,从字节码指令角度看看解析与分派的区别. 方法调用,其实就是要回答一个问题:JVM在执行一个方法 ... 
- Java基础——方法的调用
		Java基础--方法的调用 总结: 1. 在同一个类中-- 对于静态方法,其他的静态和非静态方法都可以直接通过"方法名"或者"类名.方法名"调用它. 对 ... 
- 《Java基础——方法的调用》
		Java基础--方法的调用 总结: 1. 在同一个类中-- 对于静态方法,其它的静态和非静态方法都可以直接通过"方法名"或者"类名.方法名"调用它. 对 ... 
- 在java的多态调用中,new的是哪一个类就是调用的哪个类的方法。
		在java的多态调用中,new的是哪一个类就是调用的哪个类的方法.(x) 原因: ava多态有两种情况:重载和覆写 在覆写中,运用的是动态单分配,是根据new的类型确定对象,从而确定调用的方法: 在重 ... 
- Java基础-方法(method)的应用
		Java基础-方法(method)的应用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 方法就是定义在类中,具有特定功能的一段小程序,方法也称为函数(function),方法可以接 ... 
- [转]Java远程方法调用
		Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种用于实现远程过程调用的应用程序编程接口.它使客户机上运行的程序可以调用远 ... 
- Chapter3_操作符_方法调用中的别名问题
		接下来展示方法调用中的别名问题,方法调用中的别名问题指的是,将一个对对象的引用传递给某一个方法时,方法操作的是这一个特定的引用而不是这个引用的拷贝. class Person{ float heigh ... 
- Java基础系列--03_Java中的方法描述
		方法 (1)方法的定义:就是完成特定功能的代码块. 注意:在很多语言里面有函数的定义,而在Java中,函数被称为方法. (2)格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2 ... 
随机推荐
- Andrew Ng机器学习课程15
			Andrew Ng机器学习课程15 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:主要介绍了主成分分析,从基本的直观观念出发逐渐推导至公式化的描述,得 ... 
- C++经典类库
			现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有.本文为你介绍了十一种类库,有我们常见的,也有不常见的,一起来看. C++类库介绍 再次体现了C++保持核心语言的效率同时大 ... 
- php实现支付宝在线支付和扫码支付demo
			### php实现支付宝在线支付和扫码支付demo 背景:在做一个公众号时增加了h5端,需要接入支付,非微信环境,选择了支付宝,以下简单记录下实现过程,并做了简单的封装,拿来即可使用,注意:本项目只是 ... 
- chrome 调试 ios h5
			1,安装itunes, 否则无法识别iphone设备 2,开启调试模式 ,打开 iPhone 依次进入 设置 > Safari > 高级 > Web 检查 > 启用 3,下载 ... 
- T100——错误信息提示传入参数显示
			LET l_str1 = l_xccc.xccc901LET l_str2 = l_inat015LET l_str = l_str1.trim(),'|',l_str2.trim() CALL cl ... 
- CSS定位以及z-index属性(层叠性)的详解(转)
			https://blog.csdn.net/weixin_41342585/article/details/79484879 
- redis字符串数据类型基本概念和应用场景
			基本概念:1.string类型是redis能与键关联的最简单的数据类型,它是memcached当中仅有的数据类型.2.redis的key名称也是一个字符串,当我们使用字符串类型作为其对应的值时,我们可 ... 
- 笔记: ASP.NET Core视图组件
			视图组件 asp.net core mvc 提供了部分视图的新替代品:视图组件. 视图组件与分布视图的主要区别在于视图组件与控制器不相关.可使用在独立于单个控制器的场景,如:菜单导航.侧边栏.分页栏等 ... 
- c# winfrom 子窗体分屏显示
			参考博客:https://blog.csdn.net/kailan818/article/details/8517126 实现代码: private void button1_Click(object ... 
- Abp 添加权限项<一>
			1.下载代码,数据库迁移,npm install 2.添加权限项: public static class PermissionNames { public const string Pages_Te ... 
