网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.TOMCAT源码分析(启动框架).
.Java2下Applet数字签名.
.JAVA相关基础知识(3).
.Java Socket编程之四.
.彻底解决Tomcat的页面提交时的中.
.国强-Symix企业资源计划(ERP).
.全面研读 EJB 2.0.
.图解Java连接数据库内幕.
.Java也存在2000年问题.
.Jdk编译Java程序 - applet.
.在Eclipse3.0.x配置基于STRUTS的.
.Java操作Excel完美解决方案.
.使用JAXP处理XML文件.
.用Sun ONE Studio构造Web服务.
.利用Java三步实现Cool Button.
.J2ME 3D技术简介.
.JNDI设计内幕.
.Effective Java读书笔记之二.
.方法和作用域中的内部类.
.专家释疑:轻松提高Java代码的性.

Java中向方法传参数只有传值一种!

发表日期:2008-1-5



  本文是个总结,欢迎讨论!

在Java中,参数的传递严格意义上讲都是传值的,只不过简单很轻易分清楚。而对于对象,有些复杂。

首先,在Java中是先声明一个类的变量。然后,用类生成一个类的实例,也就是在内存中的类的实例区域,最后把这个区域的指针赋给类的这个变量。注重,变量中存的是指向对象的指针。

若是按传址传参数,是要改变这个对象变量所指的内存对象区域,也就是要在方法内把新对象赋给方法外的对象变量。但是,这在Java中办不到。因为Java是把对象变量中的对象指针传入方法,并没有把变量本身的地址传入方法;在方法中,会生成新变量接受这个对象的指针。所以,在Java方法中,可以改变当前对象中的内容,却不能改变方法外边变量的值,即所指向的对象。对于传值、传址的分析就是为了在应用中少犯错误。其他是次要的。

《此位置本有图片,因不能上传,故删除》

0: public class DemoTest {
1: public String x;
2: public void setX(String x){
3: this.x=x;
4: }
5: public void test(DemoTest ok){
6: ok=new DemoTest(); this.x="333";
7: }
8: public String getX(){
9: return this.x;
10: }
11: public static void main(String[] args) {
12: DemoTest ob = new DemoTest();
13: DemoTest obp = new DemoTest();
14: ob.setX("111");
15: System.out.println("ob.X"+ob.getX());
16: obp.test(ob);
17: System.out.println("ob.X"+ob.getX());
18: ob.test(ob);
19: System.out.println("ob.X"+ob.getX());
20: }
21: }

对于上面的程序,要分清楚对象变量和对象实体。

注重在上面的方法调用是一个可能引出错误的调用,不能说明传值和传址的区别。
上一篇:JAVA中用动态代理类实现记忆功能 人气:481
下一篇:Java中通过代理服务器(proxy)访问网络 人气:765
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐