`
lauvenman
  • 浏览: 65804 次
  • 性别: Icon_minigender_1
  • 来自: 海口
社区版块
存档分类
最新评论

Java参数传递总结

    博客分类:
  • J2SE
阅读更多

以前学习C的 时候参数传递的方式有两种,一种叫"值传递",值传递传的是一个实体,通俗地说就是传值;另一种叫"引用传递",引用传递传的是指针。

在这里重点讨论以引用的方式传递参数的方式。

在java中只要不是new出来的对象那么就是

MyClass mc = new MyClass(); //在内存中生成MyClass对象
MyClass mc2 = mc; //将mc2指向mc在内存中的对象

 上面的mc和cm2是同一个对象。

        Operator opt = new Operator();
        MyClass mc = new MyClass();
        MyClass mc2 = mc;
        mc.add();
        System.out.println(mc.i);
        System.out.println(mc2.i);
        opt.sub(mc2);
        System.out.println(mc.i);
        System.out.println(mc2.i);

 结果:

run:
1
1
0
0
成功生成(总时间:0 秒)
 
        Operator opt = new Operator();
        MyClass mc = opt.getMyClass();
        mc.add();
        System.out.println("add:" + mc.i);
        add(mc);
        opt.sub1(mc);
        System.out.println("sub1:" + mc.i);
        opt.sub2(mc);//在方法里面对对象进行操作也会对main中的对象有影响,reference调用的结果
        System.out.println("sub1:" + mc.i);

 运行结果:

run:
add:1
sub1:2
sub1:-98
成功生成(总时间:0 秒)
 
分享到:
评论
2 楼 vf_100 2009-02-06  
牛头不对马嘴
1 楼 yangwn 2009-02-06  
楼主的意思好像是拿JAVA跟C的类型传递进行比较;在JAVA中,
操作基本类型时为值的传递,创建后置于stack(栈)中,存取速度很快。
操作对象类型时为引用传递,创建后引用对象创建后置于heap(堆)中,速度没有栈快;
对象作为参数传递时,是把对象的引用传递过去,如果引用在方法内被改变了,那么原对象也跟着改变。但是String类特殊,在类内进行了操作,所以不能实用于此。

相关推荐

    JAVA +jni c# 参数传递.rar

    JNI是java调用C++程序的一种实现方法,网上有一些相关的资料,但不一定能适用,这个文档我在学习JNI时综合网上资料总结的,本人亲测能够实现,希望下载的网友有什么问题多多反馈,希望对学习JNI的朋友有所帮助

    GUI数据传递总结

    在matlab中设计GUI时的几种数据传递方式

    Java重点知识总结

    方法参数传递(传值、传递引用的区别) , 方法重载(同名、参数形式不同) 字符串(常量、与字符常量的区别、连接运算、例2.18) 。。。。。。。 。。。。 第9章 流的概念 字节流的类的作用、类层次 字符流的类的...

    Java编程中影响性能的细节

    开发中我们经常忽略了一些影响性能的细节,这里特总结出来供大家参考。

    java课程总结PPT课件.pptx

    通过实现 Runnable 接口的类来实现多线程的方法是首先设计实现 Runnable 接口的类,然后创建 Thread 对象,并将实现 Runnable 接口的对象作为参数传递给 Thread 构造函数,最后使用 start 方法启动线程。

    JAVAOOP重点笔记总结.docx

    在 Java 中,基本数据类型不能作为对象,这就意味着它们不能被当作参数传递给方法,或者被用作集合中的元素。为了解决这个问题,Java 提供了包装类,它们可以将基本数据类型封装成对象,从而使得基本数据类型也可以...

    java类的封装实验报告.pdf

    在本实验中,我们定义了一个名为ff2的方法,该方法将两个参数传递给Power对象,并将其赋值给成员变量x和y。 六、创建类实例的方法 创建类实例是指创建对象的过程。在本实验中,我们使用new关键字来创建Power对象。...

    Java程序设计课程学习总结与心得

    "Java 程序设计课程学习总结与心得" Java 程序设计课程学习总结是指学习 Java 程序设计的总结和经验教训。本文将从 Java 语言的基础知识到高级部分的总结,涵盖面向对象编程、数组、字符串、流技术、异常处理等内容...

    java 面试题 总结

    JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用...

    数组总结(概念、定义、默认值、可变长参数、值传递与引用传递等)

    数组总结(概念、定义、默认值、可变长参数、值传递与引用传递等)。1.冒泡排序: ​ 两两相比(两个相邻的数进行比较) 条件成立 互换位置 ​ 外层循环控制比较的轮数 **轮数永远是 长度 -1 (n - 1)** ​ 内层循环...

    java中两种方式调用其他.exe可执行程序

    * 需要确保调用其他.exe 可执行程序的参数正确,避免出现参数错误。 Java 中调用其他.exe 可执行程序是非常有用的技术,可以帮助我们实现一些特殊的功能,提高应用程序的灵活性和可扩展性。但是,我们需要注意相关...

    Java编码规范总结

    修复建议:String的split方法传递的参数是正则表达式,正则表达式本身用到的字符需要转义,如:句点符号“.”,美元符号“$”,乘方符号“^”,大括号“{}”,方括号“[]”,圆括号“()” ,竖线“|”,星号“*”,...

    java教学资料

    高校java初级入门教学资源。熟悉并设置JDK path 路径 熟悉eclipse开发环境。 要求同学们在开发环境中,创建一个以姓名和学号命名的工程名称,如zhangsan04010325; 在工程下的src目录下创建15个类包,如ex1,ex2…ex15...

    java中方法参数的一些总结

    Java程序设计语言使用值调用。也是说,方法得到的是所有参数值的一个拷贝,特别是,方法不能修改传递给它的任何基本数据类 ...  总结Java程序设计语言中,方法参数的使用情况:  1、一个方法不能修改一个基

    JAVA代码审计常用漏洞总结

    主要代码审计方法是跟踪...敏感函数参数回溯,根据敏感函数,逆向追踪参数传递的过程。这个方法是最高效,最常用 的方法。大多数漏洞的产生是因为函数的使用不当导致的,只要找到这些函数,就能够快速挖掘想要的漏洞。

    JAVA8新特性总结及案例.doc

    它允许把函数作为一个方法的参数,将函数作为参数传递进方法中。使用 Lambda 表达式可以使代码变的更加简洁紧凑。 Lambda 表达式的重要特征有: * 可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。 ...

    Java框架面试题总结.pdf

    Java框架面试题总结 Java框架面试题总结是一个非常重要的知识领域,涵盖了Struts、MVC设计模式、Tiles框架、Struts标签库等多个方面。下面我们将详细地解释这些知识点,并对每个问题进行详细的解释。 1. Struts的...

    2023年java面试基础总结.doc

    实参是指方法调用时候实际传递的参数变量,形参是指方法的参数定义,是临时变量。 七、i++与++i的区别 i++是先把i的值赋给i++,i的值自增1,再把i++的值赋给i;++i是指先把i的值自增1,然后把i的值赋给++i。 八、&...

    Java理论试题.pdf

    6. Java语言的方法和函数:方法的定义和调用、函数的参数传递、返回值类型等。 7. Java语言的面向对象编程基础知识:类和对象的关系、继承、多态、封装等。 8. Java语言的数组和集合:数组的声明和访问、ArrayList...

Global site tag (gtag.js) - Google Analytics