`
潇湘叶语
  • 浏览: 4334 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

java入门总结——参数传递

阅读更多

 

 

    在说参数传递之前,先说一下栈和堆。其实我对它们也不是很了解-_-|||,不过我们可以去问度娘,所以我这里简单说一下,栈相当于缓存,堆相当于内存。

 

Java中参数传递包括两种,一种是值传递,一种是引用传递。

 

先说值传递。

 

八种数据类型(byte short int long float double char Boolean)和 String 类储存于栈中,即在栈中直接开辟出相应数据类型大小的空间,存储下这个值。当一个值传给这个值时,就该为传入的值,例如:

 

int n//定义整型n,此时n被默认为0

 

n = 10//10传给n,在栈中被储存的数据n值被改变,此时为10

 

再如:

 

int n

 

int m = 10

 

n = m//m中存储的数据传给nn此时为10

 

从上面两个例子,我们发现参数传递就是传递原始参数的值。nm之间互不干扰,这很容易理解,nnmm,其中哪一个改变也不会影响另一个。

 

 

 

引用传递

 

Java中引用传递只适用于对象类型和数组。

 

实际上在实例化对象的时候,new关键字在堆中开辟了与该类对应的空间,而对象名在栈中,此时对象名储存的不是对象中的属性和方法,而是对象在堆中的地址。

 

假设我们已经通过同一个类创建好对象obj1 obj2,

 

obj1 = obj2

 

这时,obj2 传给obj1 的就是obj2 所储存的地址,也就是说obj1 此时储存的是obj2 的地址,这时候通过obj1 来调用方法和属性,都是obj2 的方法和属性。这时候obj2 就相当于两个对象名,而obj1 对象此时没有地址指向它。

 

对于数组也是如此。

 

分享到:
评论

相关推荐

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    一一击破Java入门可能会遇到的难点和疑惑 抽丝剥茧,层层推进,让知识环环相扣,降低了学习的难度 通过大量的比喻、类比、对比和图示等多种讲解方式,学习效果好 对Java语言的每个语法都提供了一个或多个例程讲解 ...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    一一击破Java入门可能会遇到的难点和疑惑 抽丝剥茧,层层推进,让知识环环相扣,降低了学习的难度 通过大量的比喻、类比、对比和图示等多种讲解方式,学习效果好 对Java语言的每个语法都提供了一个或多个例程讲解 ...

    flink入门到企业开发——无代码(仅供参考).zip

    这个是flink的入门学习视频。里面没有代码。 视频内容: 01.flink介绍.mp4 02.flink-无界数据集-有界数据集.mp4 03.flink-两种执行模型.mp4 04.flink-特点.mp4 05.flink-特点2.mp4 06.flink-流计算模型-有界数据集...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    3.10.2 如何在超链接中传递多个参数 3.10.3 重定向后出现404错误 3.11 精彩回顾 第4章 体验面向对象 1IavaBean技术 4.1 本章学习任务 4.1.1 本章知识体系 4.1.2 实例开发任务 4.2 JavaBean简介 4.2.1 JavaBean产生...

    Java基础入门及提高.pdf

    《Java基础入门及提高》,整理:yyc、spirit。PDF 格式,大小 4.8 MB,非影印版。 前言: 同人类任何语言一样,Java 为我们提供了一种表达思想的方式。如操作得当,同其他方式相比,随着问题变得愈大和愈复杂,这种...

    Java开发详解.zip

    000000_【课程介绍 —— 写在前面的话】_Java学习概述笔记.pdf 010101_【第1章:JAVA概述及开发环境搭建】_JAVA发展概述笔记.pdf 010102_【第1章:JAVA概述及开发环境搭建】_Java开发环境搭建笔记.pdf 010201_【第2...

    Java Web入门经典第九章源代码

    195 9.4 URL相关标签 197 9.4.1 导入标签 197 9.4.2 动态生成URL标签 199 9.4.3 重定向标签 200 9.4.4 传递参数标签 201 9.5 流程控制标签 202 9.5.1 条件判断标签 202 9.5.2 条件选择标签 203 9.5.3 条件...

    Java项目开发与毕业设计指导

    安装JDK,并正确配置环境变量(如果有疑问,可以参考任何一本java入门书籍)。打开Eclipse(可以到http://www.eclipse.org/现在官方最新版,Eclipse本身是免费软件),导入ch01下的java项目,然后保存、运行game....

    深入体验Java Web开发内幕

    5.8 思考与实践 第6章 HttpServletRequest的应用  6.1 HttpServletRequest简介  6.2 获取请求行的相关信息  6.3 获取网络连接信息  6.4 获取请求头信息  6.5 浏览器传递参数信息的细节  ...

    java函数式编程入门

    函数式编程语言里也可以有对象,但通常这些对象都是恒定不变的 —— 要么是函数参数,要什么是函数返回值。函数式编程语言里没有 for/next 循环,因为这些逻辑意味着有状态的改变。相替代的是,这种循环逻辑在函数式...

    Python编程入门经典

    17.3 从Python向C传递参数 322 17.4 从C向Python返回值 325 17.5 LAME项目 326 17.6 LAME扩展模块 330 17.7 在C代码中使用Python 对象 342 17.8 本章小结 345 17.9 习题 346 第18章 数值编程 347 18.1 Python语言中...

    Eclipse+Web开发从入门到精通(实例版)

    1.3.4 设置命令行参数... 5 1.3.5 运行实例... 6 1.4 Java 应用程序实例... 6 1.4.1 排序算法的Java 实现... 6 1.4.2 猜数字游戏... 9 1.4.3 通过 FTP 传递文件... 11 1.5 SWT 界面开发实例... 13 ...

    VC# 2008 从入门到精通

    如果你已经掌握了C,C++或者Java 语言的知识,会发现C# 的语法非常熟悉。即使你以前 习惯于用其他语言来编程,也应该能够迅速掌握C#的语法——只需学会在恰当的位置添加 大括号和分号即可。希望本书能帮助你! 在第...

    超爽的自学课件(java)

    <br>(12) 第12章:传递和返回对象 由于我们在Java中同对象沟通的唯一途径是“句柄”,所以将对象传递到一个函数里以及从那个函数返回一个对象的概念就显得非常有趣了。本章将解释在函数中进出时,什么才是...

    安全客2020季刊第三季:新基建___国计民生下的工控攻防升级.pdf

    污点传递理论在 Webshell 检测中的应用——PHP 篇 情报界在对抗社交媒体干扰活动中的作用 使用 CodeQL 分析闭源 Java 程序 设备指纹指南 探索 MITRE Shield 如何用于主动防御 When TLS Hacks You——BlackHat2020 ...

    Visual C++ 2010入门经典(第5版)--源代码及课后练习答案

     Ivor Horton是撰著Java、C和C++编程语言图书的杰出作家之一。大家一致认为,他的著作独具风格,无论是编程新手,还是经验丰富的编程人员,都很容易理解其内容。在个人实践中,Ivor Horton也是一名系统顾问。他从事...

    Visual C++ 2005入门经典--源代码及课后练习答案

    Ivor Horton还著有Beginning Visual C++ 6、Beginning C Programming和Beginning Java 2等多部入门级好书。 目录 封面 -18 前言 -14 目录 -9 第1章 使用Visual C++ 2005编程 1 1.1 .NET Framework 1 1.2 CLR 2...

    C++大学教程,一本适合初学者的入门教材(part2)

    1.9 Java、Internet与万维网 1.10 其他高级语言 1.11 结构化编程 1.12 典型C++环境基础 1.13 C++与本书的一般说明 1.14 C++编程简介 1.15 简单程序:打印一行文本 1.16 简单程序:两个整数相加 1.17 内存的...

    C++大学教程,一本适合初学者的入门教材(part1)

    1.9 Java、Internet与万维网 1.10 其他高级语言 1.11 结构化编程 1.12 典型C++环境基础 1.13 C++与本书的一般说明 1.14 C++编程简介 1.15 简单程序:打印一行文本 1.16 简单程序:两个整数相加 1.17 内存的...

    c#学习笔记.txt

    很多人觉得它应该像C或者C++,但事实上它更像是java的一个clone,所以作为入门,读一下清华大学出版社出版的《Java 语言与面向对象程序设计》可能会对你有所帮助。本文假定你具备一切学习此语言所需的知识,没有也不...

Global site tag (gtag.js) - Google Analytics