方法参数的调用是值调用而不是引用调用
package com.ray.object;
/**
* 方法参数的调用是值调用,而不是引用调用
*
* @author ray
* @since 2015-04-22
* @version 1.0
*
*/
public class Person {
private static void swap(Person a, Person b) {
Person temp = a;
a = b;
System.out.println("a:" + a);
b = temp;
System.out.println("b:" + b);
}
public static void main(String[] args) throws Exception {
Person bill = new Person();
Person jack = new Person();
System.out.println("--bill:" + bill);
System.out.println("**jack:" + jack);
Person.swap(bill, jack);
System.out.println("--bill:" + bill);
System.out.println("**jack:" + jack);
}
}
输出:
--bill:com.ray.object.Person@1fb8ee3
**jack:com.ray.object.Person@61de33
a:com.ray.object.Person@61de33
b:com.ray.object.Person@1fb8ee3
--bill:com.ray.object.Person@1fb8ee3
**jack:com.ray.object.Person@61de33
从上面的输出结果可以看见,在swap方法里面,两个参数的确是已经调换了,但是由于参数是对象,所有调用的时候是值调用,而不是引用调用,
只不过参数返回的值变动了,但是相应的对象还是没有变,因此,最后的结果两个对象是没有调换过来
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
这篇博文将带你入门Java反射,并通过属性和方法的调用来实践这一概念。 首先,理解反射的基础概念。在Java中,`Class`类代表了运行时的类信息。通过`Class`对象,我们可以获取到类的名称、构造器、方法和字段。例如...
本文将对《Java 基础入门》课后习题答案进行总结,涵盖了 Java 基础知识点,包括 Java 开发入门、Java 基础类、变量类型、运算符、控制流语句、方法重载等。 一、Java 开发入门 * Java EE、Java SE、Java ME 是 ...
京动力节点-Java编程零基础教程-001-编程基础-基本概念-语言、程序、编程.mp4 北京动力节点-Java编程零基础教程... 北京动力节点-Java编程零基础教程-125-Java基本语法-方法递归调用-递归解决阶乘的栈内存变化过程.avi
这份"Java基础入门--教学课件--PPT"旨在帮助初学者掌握Java编程的基本概念和语法,为深入学习Java打下坚实的基础。 1. **Java简介**: Java由Sun Microsystems(现为Oracle公司)于1995年推出,由詹姆斯·高斯林等...
"Java基础入门"这个压缩包提供了学习Java编程的基础资源,包括经典的入门书籍源码和JDK11的中文版API文档。 首先,让我们来了解一下Java API。API(Application Programming Interface)是一系列预先定义的函数,...
Java编程语言的基础语法中,函数(也称方法)是一个至关重要的概念。函数是类中定义的、具有特定功能的一段独立可执行的代码块。它能够封装特定的操作,便于重复使用,提高代码的复用性和模块化。函数的定义通常包括...
### Java入门——深入理解Java语言回收机制 #### 一、垃圾回收(Garbage Collection)概述 在编程领域,特别是对于初学者来说,了解并掌握Java的垃圾回收机制是非常重要的。与C++等需要手动管理内存的语言不同,...
方法是 Java 中执行特定任务的代码块,可以带有参数并返回值。 #### 五、Java 与 Android - **Java 在 Android 中的作用**: Android 操作系统主要使用 Java 语言进行应用程序的开发。虽然 Google 后来引入了 ...
这份“完整版Java全套入门培训课件 Java基础 02-Java基础语法1(共35页).rar”文件是为初学者设计的,旨在帮助他们掌握Java编程的基础知识。以下是对Java基础语法的详细讲解: 1. **Java简介**: - Java是由Sun ...
本资源“JAVA基础入门到精通pdf”提供了一条系统学习Java的路径,适合初学者作为入门教程。以下是对Java基础知识的详细解读: 1. **Java概述**:Java是由Sun Microsystems(现为Oracle公司)于1995年推出的一种面向...
### Java入门基础:继承及多态 #### 一、继承 继承是面向对象编程(OOP)的一个核心概念,它允许创建一个新类(称为子类或派生类),该类继承了现有类(称为父类或基类)的特征。在Java中,一个类可以从另一个类继承...
在Java中,方法是封装代码逻辑的单位,可以被多次调用。方法定义包括返回类型、名称、参数列表,以及实现的方法体。void方法没有返回值,而其他类型的方法会返回一个特定类型的值。 数组是Java中存储同类型数据集合...
以上就是关于“Java代码实现调用RapidOCR”的核心知识点,涵盖了从基本的Java编程、PaddleOCR和RapidOCR的理解,到实际的Java调用实现、跨平台兼容性和性能优化等多个方面。通过这些知识,开发者可以成功地在Java...
《Java基础入门》是一份专为初学者设计的PPT教程,由fairlygtz制作,旨在帮助新手快速掌握Java编程语言的基础知识。这个PPT教程涵盖了Java编程的核心概念,是自我学习Java的理想资源。通过这份教程,学习者能够逐步...
Java编程语言的基础知识涵盖了许多方面,其中方法定义和调用是核心概念之一。方法是Java中实现特定功能的代码块,它可以被重复使用,提高了代码的可读性和可维护性。下面我们将深入探讨方法的定义、分类、调用以及...
这份“JAVA基础入门 ppt”是为初学者或非计算机专业人员设计的,旨在提供一个简洁明了的学习路径,帮助他们快速掌握Java编程的基础知识。 首先,我们需要理解Java的基本概念。Java是由Sun Microsystems(现为Oracle...
### JAVA入门基础知识详解 #### 一、对象与类的基础概念 在Java编程中,对象(Object)是最基本的概念之一,它是现实世界实体的一种抽象表示。每个对象都有自己的状态和行为,这些状态通常由数据成员(Data ...
这个"完整版Java全套入门培训课件 Java基础 04-继承下(共28页)"显然是一份详细讲解Java继承概念的教程。 继承的概念在于,子类可以继承父类的所有非私有属性(public和protected)以及方法。这样,子类就可以在不...
然后,会讲解Java的基本语法,如数据类型(包括原始类型和引用类型)、变量声明、操作符、控制流程(if语句、for循环、while循环)、方法定义和调用。还会介绍如何编写并运行第一个Java程序——经典的"Hello, World!...
学习Java时,要掌握基本的变量类型(如整型、浮点型、字符型和布尔型)、数据结构(数组和集合)、流程控制(条件语句和循环语句)以及方法的定义和调用。 3. **类与对象**:面向对象是Java的核心特性。你需要理解...