由于Java不支持指针,如何像在C和C ++中那样通过Java引用来调用函数?
在Java中,真正的按引用传递是不可能的。Java通过值传递所有内容,包括引用。但是您可以使用容器对象来模拟它。
使用以下任何一个作为方法参数:
并且,如果您在方法中更改其内容,则更改的内容将可用于调用上下文。
糟糕,您的意思显然是通过引用调用方法。在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。
Foo
SomeFoo
OtherFoo