Java基础参数传递02

简介: Java基础参数传递02

参数的传递


主要研究和学习的是方法在调用的时候,涉及到参数传递的问题,到底是怎么传递数据的呢?值传递


   

int i = 10;
        int j = i;//i传递给j,实际上只是将i变量中保存的10传递给j了,j实际上是一块全新的内存空间
        User u = 0x1234;
        User u2 = u;//u传递给u2,实际上是将0x1234这个值赋给了u2,u和u2实际上是两个不同的局部变量
        //但是他们这两个变量指向堆内存中同一个java对象


示例代码:


public class Test02 {
  public static void main(String[] args) {
  //创建User对象
  User u = new User(20);
  //User u = 0x1234
  //传递u给add方法的时候,实际上传递的是u变量中保存的值,只不过这个值是一个java对象的内存地址
  add(u);//等同于:add(0x1234);
  System.out.println("main -->" + u.age);//21
  }
  public static void add(User u){
  u.age++;
  System.out.println("add -->" + u.age);//21
  }
}
class User{
  //实例变量
  int age;
    //构造方法
    public User(int i){
    age = i;  
}
}


代码内存分析:


0a2653c851af460fa595bd959398a8f1.png


最终结论:


  • 方法调用的时候,涉及到参数传递的问题,传递的时候,java只遵循一种语法机制,就是将变量中保存的“值”传递过去了,只不过有的时候这个值,是一个字面值10,有的时候这个值是另外一个java对象的内存地址0x1234
相关文章
|
8月前
|
存储 缓存 Java
最新Java基础系列课程--Day10-IO流文件处理
最新Java基础系列课程--Day10-IO流文件处理
|
8月前
|
存储 Java
最新Java基础系列课程--Day10-IO流文件处理(一)
最新Java基础系列课程--Day10-IO流文件处理
|
3月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
95 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
7月前
|
Java
【Java基础】输入输出流(IO流)
Java基础、输入输出流、IO流、流的概念、输入输出流的类层次结构图、使用 InputStream 和 OutputStream流类、使用 Reader 和 Writer 流类
226 2
|
4月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
|
5月前
|
存储 安全 Java
在 Java 中如何将 ArrayList 作为参数传递
【8月更文挑战第23天】
238 0
|
7月前
|
安全 Java
|
8月前
|
Java 编译器
滚雪球学Java(34):探究Java方法的神奇魔法和参数传递奥秘
【5月更文挑战第9天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
39 1
滚雪球学Java(34):探究Java方法的神奇魔法和参数传递奥秘
|
7月前
|
搜索推荐 算法 Java
【Java基础】 几种简单的算法排序
几种简单的JAVA算法排序
56 4
|
7月前
|
数据采集 Java 数据安全/隐私保护
使用Java进行网络采集:代理IP与参数传递详解
Java参数传递是按值传递,包括对象引用的值。当传递对象时,方法内部修改对象内容会影响原始对象,但不能改变原始引用。示例展示了如何在爬虫代理中使用此机制,通过`ProxySettings`类传递代理信息,方法内可访问但不能更改原始对象。理解这一机制对编写高效无错的Java代码至关重要。
使用Java进行网络采集:代理IP与参数传递详解