java的参数传递机制_javase参数传递机制(值传递)

java中所有的参数传递都是值传递,也就是说传递的是值的副本,而不是原件,因此,副本的改变不会影响原件。

1、值传递的类型

(1)基本数据类型参数的传递

传递的是值的副本,副本改变不会影响原件

(2)引用类型参数的传递

传递的是值的副本,引用类型指的是对象的地址,因此,副本和原参数指向了同一个地址,改变副本指向地址对象的值,原参数的值也就跟着改变了。

public class Student {

private String name;

private Integer age;

public Student(String name, Integer age) {

this.name = name;

this.age = age;

}

public void testPara(Student student1){

student1.name="zhang";

}

public static void main(String args[]){

Student student=new Student("zhai",12);

student.testPara(student);

System.out.println(student.name);

}

}

c6fa016c5e4f67fb48bcb42d7c856dd4.png

程序运行产生的结果为zhang,因为,student对象的引用和student1对象的引用指向的是同一个地址,student1将对象的值改变后student对象也发生了改变。

public class Student {

private String name;

private Integer age;

public Student(String name, Integer age) {

this.name = name;

this.age = age;

}

public void testPara(Student student1){

student1.name="zhang";

}

public void testPara1(Student student2){

student2=new Student("liu",11);

}

public static void main(String args[]){

Student student=new Student("zhai",12);

student.testPara(student);

System.out.println(student.name);

student.testPara1(student);

System.out.println(student.name);

}

}

zhang

zhang

第一步,student和student1对象的引用指向同一个对象:

069572328d0f31310d5ad458bbc15e88.png

student1将name属性进行了修改:

4f08aa931676dc72db026edf31bd7c30.png

第三步,student2和student对象的引用指向同一个对象:

09e83213940f767dbbdd66e6c27a3ee7.png

由于testPara1方法内对student2对象的引用创建了新的对象,因此,student2又指向了这个新创建的对象:

a9165c64f41f2aa59b1964033b0157e9.png

2、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

是值传递,Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的属性可以在被调用过程中被改变,但对象的引用是永远不会改变的。

标签:传递,name,对象,student1,参数传递,student,Student,javase,public

来源: https://www.cnblogs.com/zhai1997/p/12532784.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
  一.JAVA程序传送到手机的方法:   JAVA程序传送到手机的方法有4种,分别是手机上网直接下载安装,通过电脑下载到本地 后,然后通过读卡器,数据线,蓝牙,红外线传输JAVA程序到手机.具体方法说明如下.   1.手机上网下载:   通过手机上网下载以及使用短信定购的方式,直接在手机的个人文档或者应用程序找 到(根据手机各不相同),无需在安装,直接可以在类似"我的文件夹"之类的选项找到。   使用电脑下载就需要将文件传送到手机上。   2. 读卡器:   1 新买的卡,先在手机上格式你的 TF 卡:设置 -- 手机状态 -- 存储存储设备 - - 卡 -- 菜单键 -- 格式 OK      或先安装 TF 卡到手机上采取拍照,录象的方式,激活 TF 卡的文件夹。 如果是 已经使用的就不必了...   2 .将我的电脑 -- 工具 - 文件夹选项 - 查看的,隐藏文件和文件夹 -- 选显示   3 .打开我的电脑 -- 工具 - 文件夹选项 - 查看,把 " 隐藏受保护的操作系统文 件 " 前面的勾去掉   4.然后用读卡器打开你的 TF ,就可以看见 TF 卡上的 KJAVA 了。 copy JAVA程序(包 括 *.JAR,*.JAD)到你 TF 卡的 KJAVA 目录里就行了   5 .安装 TF 卡到手机。   6 .进入手机 " 游戏 和应用程序)里安装新的程序 OK   3.数据线传输:   通过安装购买手机时所附带的 软件 安装盘,安装其pc套件,用数据线接上手机与电脑, 通过管理 软件 把JAVA程序文件*.JAD,*.JAR传送到手机上;MIDWAY2.8 也可以传输 JAVA 程序,但是需要开启 JAVA 设置的 "JAVA 加载器 "     二、安装问题-相关说明 1. 如何安装Kjava程序   JAVA平台的手机软件一般有两个文件,一个是jar,一个是jad。 诺基亚等品牌的机器 需要两个文件都传入手机才能正常使用。   而索爱等品牌的手机只需要一个jar文件就可以用了。具体情况要根据你自己的手机来 确定。   如果你是下载至电脑本地安装,你的手机需要用到.jad文件才能完成安装. 通过数据 线,红外或蓝牙等方式把两个文件[.jar,.jad]存到手机上同一个目录即可。      2.如何安装Symbian程序   Symbian软件安装包通常是.sis的压缩文件,其包含许多组件文件。   安装步骤如下 :   (1) 安装文件可以通过蓝牙连接或红外连接发送至手机.   (2) 在手机收到信息后,打开新信息,选择打开->安装   (3) 按照提示一步一步操作下去,直到安装完成   3.如何安装微软SmartPhone智能手机软件    在使用微软操作系统的SmartPhone上安装软件,有三种方法:   1)直接拷贝法 与电脑类似,在智能手机上也流行"绿色软件"一说。这一类软件只须将相关文件 Copy到手机或存储卡上,然后建立一快捷方式,并将其拖入"Storage\windows\Start Menu" 文件夹。欲使用该软件,只须进入"开始"菜单即可。 小知识:与电脑不同,使用微软操作系统的SmartPhone并未自带资源管理器,因此 须要自行安装,否则无法进行文件操作。推荐使用Explorer 2003。   (2)CAB文件安装法   如果下载的软件为*.CAB格式,那么请先用数据线或者读卡器将该文件Copy到SD卡等 附加储存卡上(不推荐Copy到手机内置闪存上)。然后打开资源管理器(笔者使用的是 Explorer 2003文版),选文件按OK键执行安装。一般来说,系统会弹出警告,点击确 定即可。 有的软件可能会选择安装路径,选择安装路径,建议选择将软件安装到储存卡上。安装 完毕后,就可以在开始菜单找到该软件的快捷方式了。   (3)EXE文件安装法    前两种文件的安装都比较简单,但如果遇到*.EXE文件,那么安装起来就稍显繁复。首 先,必须在电脑里安装Microsoft ActiveSync同步软件;其次,须要一根同步数据线或红外 /蓝牙适配器(推荐使用数据线)。当这两者都齐备后,就可以进行安装了。   Microsoft ActiveSync联线后,双击运行*.EXE文件会看到一个安装界面。选择一个目 录,单击安装,安装文件会自动解压并传送数据至手机。在电脑屏幕上弹出提示时,就要换 为手机操作了。按照手机屏幕上的提醒,选择将软件安装在手机或者储存卡上即可。   安装java程序要有两个文件,一个是JAR和JAD, 但拷贝下来的游戏只

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值