【发布时间】:2015-06-30 06:08:45
【问题描述】:
我正在阅读 J. Bloch 的有效 java,现在我正在使用函数对象项。他说:
Java不提供函数指针,但对象引用可以 用来达到类似的效果。在对象上调用方法 通常对该对象执行一些操作。然而,它是 可以定义一个对象,其方法对其他对象执行操作 对象,显式传递给方法。一个类的实例 只导出一个这样的方法实际上是一个指向该方法的指针 方法。
这是什么意思?我猜每次我们创建这样一个类的对象时,我们都会在内部有效地在JVM 中获得一个函数指针。但我不确定,因为 Java 本身不知道函数指针的概念。
换句话说,我们是否只有编译器对此类对象执行的优化?
例子:
public interface Callback{
public void invoke();
}
public class GenericCallback implements Callback{
public void invoke(){ System.out.println("Generic callback"); }
}
public static void main(String[] args){
Callback c = new GenericCallback(); //What kind of optimization will
//be performed for the c object?
}
【问题讨论】:
-
Function Pointers in Java 的可能重复项
-
@Strelok 这不是骗子。
标签: java