在java中实现C#语法里的按引用传递参数的方法_java

在C#中,在次函数中调用时改变了其中的数值,主函数中也将发生改变

ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字

out 关键字会导致参数通过引用来传递。这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字。

Java里面不像C#那样,Java只有对象类型参数才是传地址的,Java的基础类型变量做参数的时候,都只是传值。

解决方法是,用Java的类做函数的参数类型。

如下是我写的一个例子说明:

文件名:byRefVariable.java

//--------------------------------------
public class byRefVariable{
 public static void main(String args[]) {
 obj test=new obj();
 System.out.println("没有把test作实参传递给changeIt方法之前的test.var的值="+test.var);
 changeIt(test);//坐实参传递到一个函数!
 System.out.println("test作实参传递给changeIt之后"+test.var);
 } 

 public static void changeIt(obj a) {
 a.var=12580;
 }
} 

class obj //我在这里定义了一个类。
{ int var=0;} 

以上就是小编为大家带来的在java中实现C#语法里的按引用传递参数的方法的全部内容了,希望对大家有所帮助,多多支持~

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java 实现一个c编译器、java实现c回调函数、java 实现ctrl c、java中分页查询的实现、java中如何实现分页,以便于您获取更多的相关知识。

时间: 2024-09-20 04:04:52

在java中实现C#语法里的按引用传递参数的方法_java的相关文章

详解Java中的线程让步yield()与线程休眠sleep()方法_java

线程让步: yield()yield()的作用是让步.它能让当前线程由"运行状态"进入到"就绪状态",从而让其它具有相同优先级的等待线程获取执行权:但是,并不能保证在当前线程调用yield()之后,其它具有相同优先级的线程就一定能获得执行权:也有可能是当前线程又进入到"运行状态"继续运行!示例: class ThreadA extends Thread{ public ThreadA(String name){ super(name); } pu

Java中使用json与前台Ajax数据交互的方法_java

本文主要为大家分享了Ajax获取显示Json数据的一种方法,供大家参考,具体内容如下  1.首先前台用Ajax,其中注意dataType一定要选择json方式,Action成功返回给页面的Json内容是这样的[{"number":"V006","names":"LiLei"}],可见comment['names']对应"names":"LiLei",comment['number']对应

Java中快速把map转成json格式的方法_java

在日常的使用中,我们一般会遇到map转json,如果遍历的话会浪费大量的时间,其实我们拥有这样的jar包 复制代码 代码如下: The method *** is undefined for the type JSONObject 缺哪个包------ json-lib.jar 这样还是不行的 需要一个依赖的jar包要不然会报错 复制代码 代码如下: java.lang.ClassNotFoundException: net.sf.ezmorph.Morpher 当当当当   jar包是ezmo

编程-java中在类定义里能实例化本类的对象吗?

问题描述 java中在类定义里能实例化本类的对象吗? 我在一本书上看到这个,这里的内容试讲java的构造方法私有化的 class Singleton { Singleton instance=new Singleton(); private Singleton() {} public void print() { System.out.println("Hello World"); } } 这个我想请教一下,为什么这里能在类定义里实例化本类的对象? 这里还列出了另一种方式: class

java中监听接口里面的onclick方法为什么被称为回调方法

问题描述 java中监听接口里面的onclick方法为什么被称为回调方法 那普通接口有回调方法吗,普通类有回调方法吗, 回调方法是如何定义的 解决方案 你别被回调这个词搞蒙了,其实就是把方法当做参数而已 解决方案二: 因为onclick你定义了,不是自己调用,而是间接由按钮点击后系统类库去调用,所以叫回调. 英文叫做callback. 解决方案三: 回调方法简单的说就是a方法都用b方法,b方法执行过程中需要调用a方法,callback 解决方案四: [个人向]Android回调接口的实现方法ja

多态-java中为什么会自动执行子类重写父类的方法?

问题描述 java中为什么会自动执行子类重写父类的方法? 问题: 1.在main方法中我没有调用paint方法,为什么它会自动被调用? 2.老师说这是多态,可是多态不是需要三个条件实现么?继承,重写方法,父类引用指向子类对象,这里没有第三点啊 代码如下: public class GameFrame extends Frame{ public void launchFrame(){ setSize(500,500); setLocation(100,100); setVisible(true);

java中除了父类,子类可以有同名的方法

问题描述 java中除了父类,子类可以有同名的方法 java中除了父类,子类可以有同名的方法 非子类,父类,可以有同名的方法吗 b是a的父类,b是c的父类,那a是c的父类吗 解决方案 b是a的父类,b是c的父类,那a是c的父类吗 显然不是,a和c是"兄弟",或者说无关 非子类,父类,可以有同名的方法吗 可以. 解决方案二: 应该说是吧? C和A不是直接继承,在用的时候自然就不能直接用, 解决方案三: a和c没有继承关系,当然可以有同名的方法

java中常量可以用来干什么啊,是仅仅作为方法的参数吗,

问题描述 java中常量可以用来干什么啊,是仅仅作为方法的参数吗, java中常量可以用来干什么啊,是仅仅作为方法的参数吗,不同的类可以调用同一个常量吗 解决方案 变量,是做数据保存用的.方法的参数,也是变量.但变量,不只是做方法的参数. 如果是类中的私有变量,其它类想直接调用肯定是不行的:但可以通过类的接口来调用此私有变量.公有变量,不同的类是可以访问的. 解决方案二: 过来学习下. 解决方案三: 常量就是一个值比如 123,或者一个不可变的变量比如 final int a=1 静态常量可以在

java中struts2实现文件上传下载功能实例解析_java

本文实例讲述了java中struts2实现文件上传下载功能实现方法.分享给大家供大家参考.具体分析如下: 1.文件上传 首先是jsp页面的代码 在jsp页面中定义一个上传标签   复制代码 代码如下: <tr>      <td align="right" bgcolor="#F5F8F9"><b>附件:</b></td>      <td bgcolor="#FFFFFF">