在Java中,真正的按引用传递是不可能的。Java通过值传递所有内容,包括引用。但是您可以使用容器对象来模拟它。
使用以下任何一个作为方法参数:
- 数组
- 集合
- AtomicXYZ类
并且,如果您在方法中更改其内容,则更改的内容将可用于调用上下文。
糟糕,您的意思显然是通过引用调用方法。在Java中这也是不可能的,因为方法不是Java中的第一层公民。这可能在JDK
8中有所改变,但是暂时,您将不得不使用接口来解决此限制。
public interface Foo{ void doSomeThing();}public class SomeFoo implements Foo{ public void doSomeThing(){ System.out.println("foo"); }}public class OtherFoo implements Foo{ public void doSomeThing(){ System.out.println("bar"); }}使用
Foo在你的代码,这样你就可以很容易地替换
SomeFoo使用
OtherFoo。



