栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Java中模拟按引用传递?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Java中模拟按引用传递?

模拟传递引用的主要方法是传递包含值的容器。

static void makeAThree(Reference<Integer> ref){   ref.set(3);}public static void main(String[] args){  Reference<Integer> myInt = new Reference<>(4);  makeAThree(myInt);  System.out.println(myInt.get());}

由于在Java中,它 引用
到由值(对象本身是从来没有在全部通过)传递的对象,设置

ref
3
makeAThree
变化相同的对象则提到
myInt
main()

免责声明:

Reference
这不是您可以直接使用现成的Java的类。我在这里将其用作其他任何对象类型的占位符。这是一个非常简单的实现:

public class Reference<T> {    private T referent;    public Reference(T initialValue) {       referent = initialValue;    }    public void set(T newVal) {       referent = newVal;    }    public T get() {       return referent;    }}

编辑

这并不是说修改方法的参数是一个好习惯。通常,这将被视为副作用。通常,最佳做法是将方法的输出限制为返回值和

this
(如果该方法是实例方法)。修改参数是设计方法的一种非常“
C”的方式,并且不能很好地映射到面向对象的编程。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/452989.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号