`

011 方法参数传递

 
阅读更多

程序一:

 

public class ParamTest

{

       publicvoid changePoint(Point point)

       {

              point.x= 3;

              point.y= 5;

       }

       publicstatic void main(String[] args)

       {

              ParamTestparamtest = new ParamTest();

              Point point = new Point();

              paramtest.changePoint(point);

              System.out.println(point.x);

              System.out.println(point.y);

       }

}

class Point

{

       intx;

       inty;

}

 

输出结果:3和5

 

执行分析:

 

从main方法开始执行程序,执行语句ParamTest paramtest =new ParamTest();后在内存里创建一个对象:newParamTest(),执行语句Point point = new Point();后,在内存里创建一个对象:new Point(),他有两个属性 x 和y,他们的值默认为0,引用类型变量point 指向此对象(即堆栈里的变量point里存放着new Point()的地址);【把此对象的地址赋给引用类型变量point 】 ;执行语句paramtest.changePoint(point);先把point里的值赋值给语句public void changePoint(Point point)里面的point ,这样的话,point 和point 都指向了同一个对象;

执行语句point.x =3;point.y = 5;即通过ParamTest的方法changePoint 改变了他们供同行指向的对象的两个属性值为3和5,打印。

 

程序二:

 

public class ParamTest

{

       publicvoid changePoint(Point point)

       {

              Point point = new Point();

              point.x= 3;

              point.y= 5;

       }

       publicstatic void main(String[] args)

       {

              ParamTestparamtest = new ParamTest();

              Pointpoint = new Point();

              paramtest.changePoint(point);

              System.out.println(point.x);

              System.out.println(point.y);

       }

}

class Point

{

       intx;

       inty;

}

 

分享到:
评论

相关推荐

    java基础知识下载

    方法参数传递给方法,它的作用域就是这个方法。例外处理参数传递给例外处理代码,它的作用域就是例外处理部分。 2.1.3 简单数据类型 1.布尔类型--boolean 布尔型数据只有两个值true和false,且它们不对应于任何...

    Access 2000数据库系统设计(PDF)---011

    Access 2000数据库系统设计(PDF)---011目 录译者序前言第一部分 Access基础第1章 Access 2000的新增功能 11.1 Access 2000透视 11.2 用Office Web组件部署数据访问页 21.2.1 Office Web 组件 21.2.2 DAP演示测试....

    Java经典编程源码基础例程300.zip

    实例002 输出控制台传递的参数 2 实例003 输出由“*”组成的三角形 3 实例004 输出符号表情 5 第2章 Eclipse开发工具 6 实例005 下载并运行Eclipse工具 7 实例006 为Eclipse安装中文包 8 实例007 使用Eclipse注释...

    javascript入门笔记

    Javascript Basic 1、Javascript 概述(了解) ... 调用函数时,所传递的参数列表,称之为"实参(实际参数)" 3、练习 1、定义一个函数 change ,该函数中接收两个参数(a,b) 2、在函数体中,如果 a 大于 b的话...

    egret工具:事件监听管理器

    DelegateUtil.ts 函数代理,方便传递参数和函数执行空间地址,包含原始参数和附加参数。 Dictionary.ts 支持存取少量的“对象”来当作存储数据的key. 重点见介绍下面的类,养成习惯模块销毁时用一句 BC.removeEvent...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例102 解析URL地址中传递的编码参数 134 实例103 转义帖子中的特殊字符 135 实例104 获取任意字符的ASCII码 136 实例105 查找指定ASCII码对应的字符 136 实例106 合理定义上传文件的名称 137 实例107 通过异或方式...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例102 解析URL地址中传递的编码参数 134 实例103 转义帖子中的特殊字符 135 实例104 获取任意字符的ASCII码 136 实例105 查找指定ASCII码对应的字符 136 实例106 合理定义上传文件的名称 137 实例107 通过异或方式...

    PHP开发实战1200例源码

    实例102 解析URL地址中传递的编码参数 134 实例103 转义帖子中的特殊字符 135 实例104 获取任意字符的ASCII码 136 实例105 查找指定ASCII码对应的字符 136 实例106 合理定义上传文件的名称 137 实例107 通过异或方式...

    Delphi开发范例宝典目录

    实例011 状态栏中加入图标 13 1.4 导航菜单界面 14 实例012 OutLook界面 14 实例013 带导航菜单的主界面 15 实例014 图形化的导航界面 16 1.5 特色程序界面 18 实例015 类QQ的程序界面 18 实例016 ...

    Visual C++程序开发范例宝典(PDF扫描版).part3

     cc实例011 可调整按钮位置的工具栏   cc实例012 浮动工具栏   cc实例013 根据表中数据动态生成工具栏   cc实例014 具有提示功能的工具栏   1.4 状态栏应用实例   cc实例015 带进度条的状态栏   ...

    Visual C++程序开发范例宝典(PDF扫描版).part2

     cc实例011 可调整按钮位置的工具栏   cc实例012 浮动工具栏   cc实例013 根据表中数据动态生成工具栏   cc实例014 具有提示功能的工具栏   1.4 状态栏应用实例   cc实例015 带进度条的状态栏   ...

Global site tag (gtag.js) - Google Analytics