`
mxin362642945
  • 浏览: 8427 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JAVA--值传递

    博客分类:
  • JAVA
阅读更多

关于java中的值传递问题:

 

首先申明java中只有值传递!!!

 

分为两种情况而定:

 

 

  1. 基本类型的数据:传递的值为数据的拷贝。
  2. 对象类型的数据:传递的值为引用的地址(对象在内存中的地址)。

测试代码:

public class ValueTransfer {

	static void  change(int a, int b){
			int temp = 0;
			temp = a;
			a =b;
			b = temp;
			
			System.out.println("a=" + a +"b=" + b);
	}
	
	static void changeString (String str){
		str += "__SS";
		System.out.println(str);
	}
	
	static void changePersion(Person per){
		per.setName("hello");
		per.setAge(99);
		
		System.out.println(per.toString());
	}
	
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int a =10;
		int b = 99;
		change(a, b);
		System.out.println("a=" + a +"b=" + b);
		
		String str = "hello";
		changeString (str);
		System.out.println(str);
		
		Person objPer = new Person();
		objPer.setAge(22);
		objPer.setName("abc");
		changePersion(objPer);
		System.out.println(objPer.toString());
		
	}

}

class Person{
	
	private String name;
	
	private int age;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	@Override
	public String toString() {
		return "Person [name=" + name + ", age=" + age + "]";
	}
}
 运行结果:
a=99b=10
a=10b=99
hello__SS
hello
Person [name=hello, age=99]
Person [name=hello, age=99]
 

0
0
分享到:
评论

相关推荐

    Java:按值传递还是按引用传递详细解说

    ### Java中的按值传递与按引用传递详解 #### 一、引言 在Java编程语言中,关于参数传递的方式一直存在两种观点:一种认为Java仅支持按值传递,另一种则指出Java同时支持按值传递和按引用传递。实际上,这两种观点...

    java中只有值传递

    Java中传递对象时传递的并不是对象中的内容, 而是对象的地址。

    java-jdk1.8-jdk-8u202-linux-x64.zip

    - Lambda表达式:这是一种简洁的匿名函数语法,允许函数作为值传递,增强了函数式编程能力。 - 方法引用和构造器引用:进一步简化了Lambda表达式的使用,可以直接引用已有方法或构造器。 - Stream API:提供了处理...

    java-8-openjdk-amd64

    1. **Lambda表达式**:Java 8引入了函数式编程的概念,Lambda表达式允许将匿名函数作为参数传递给方法,简化了代码并提高了代码的可读性。例如,可以使用lambda表达式来创建和使用匿名内部类,如事件处理器或集合的...

    java值传递与引用传递

    在Java编程语言中,函数参数的传递方式有两种:值传递和引用传递。理解这两种机制对于编写高效、无误的代码至关重要。以下是对这两种传递方式的详细解析。 首先,值传递是指函数调用时,实际参数的值被复制一份传给...

    yolo-onnx-java-master.zip

    这包括非极大值抑制(NMS)来消除重复的检测,以及将坐标转换回原始图像尺寸。 6. **异常处理**:在调用AI模型时,需要考虑到可能出现的错误,例如模型加载失败、输入数据格式错误等,因此良好的异常处理机制是必不...

    java 值传递和引用传递的比较

    在Java编程语言中,了解值传递和引用传递的概念至关重要,因为它们直接影响到函数参数的处理方式。下面将详细探讨这两个概念及其区别。 首先,我们来理解什么是值传递。在Java中,基本数据类型(如int、double、...

    java-json包

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。在Java中,处理JSON数据通常需要借助于特定的JSON库。本篇将详细介绍Java中常用的JSON处理库以及如何使用它们...

    oci-java-sdk:适用于Java的Oracle Cloud Infrastructure SDK

    您可以通过调用exec:java目标并为exec.mainClass和.exec.arguments属性传递适当的值来运行任何示例,例如: ObjectStorageGetBucketExample类需要3个参数,分别是隔离专区的OCID,存储区名称,对象名称。...

    Java-Java面向对象中引用传递教程

    - **传值**:基本数据类型(如int、char等)的参数传递是值传递,也就是说,方法内部对参数的修改不会影响到方法外部的变量。 - **传引用**:对于对象,Java总是采用引用传递。这意味着,即使在方法中改变对象的...

    java-1.8.0-openjdk-1.8.0.201-2.b09.redhat.windows.x86_64.zip

    1. **函数式编程支持**:Java 8引入了Lambda表达式,这是一种简洁的匿名函数表示方式,使得函数可以像对象一样被传递、存储和操作。Lambda表达式极大地简化了对集合的处理,尤其是通过`Stream API`进行的并行操作,...

    Java-JDBC资料.pdf

    用户名和密码可以通过使用“属性名=属性值”的方式来传递给数据库,例如 `user=root&password=123456`。 #### 数据库连接方式举例 在Java代码中,通过调用 `DriverManager.getConnection()` 方法,并传入数据库...

    caelum-java-web-fj21

    Java Beans经常被用作实体类或值对象,在Java Web应用程序中传递数据。 - **DAO模式**:Data Access Object(DAO)模式是一种常用的设计模式,用于分离数据访问逻辑和业务逻辑。通过DAO模式,可以更好地组织代码结构...

    lotus domino java代理_获取传递值json

    Lotus Domino Java 代理获取传递值 JSON Lotus Domino 是一种基于Notes技术的服务器端应用程序, Lotus Domino Java 代理是指在 Domino 服务器上运行的 Java 代理程序,可以用来处理用户请求、提供数据服务等。今天...

    Java面向对象值传递和引用传递

    Java 面向对象值传递和引用传递 Java 面向对象编程中,参数传递是非常重要的一个概念。参数传递有两种方式:值传递和引用传递。了解这两种方式的区别是非常重要的,因为它们对程序的执行结果产生了很大的影响。 值...

    commons-dbutils-1.3、mysql-connector-java-5.1.7-bin

    只需传递SQL模板和参数值,DBUtils会自动处理预编译和参数绑定。 4. **异常处理**:DBUtils封装了JDBC异常处理,使得开发者可以使用try-with-resources结构,避免了手动关闭资源时可能出现的资源泄漏。 5. **...

    Java是值传递,传对象引用也是通过值

    标题“Java是值传递,传对象引用也是通过值”揭示了Java中参数传递的核心概念。Java总是以值传递方式进行,这意味着当你将一个变量作为参数传递给方法时,传递的是该变量所存储值的一个副本。然而,对于对象类型的...

    java-main.zip

    3. **void**:`main`方法不返回任何值,它的任务是初始化和控制程序的流程。 4. **main**:这是方法的名字,特定于Java,JVM会查找这个方法来开始执行程序。 5. **String[] args**:这是方法的参数,表示程序可以...

Global site tag (gtag.js) - Google Analytics