这是定义新类还是新实例?

0xS*_*ina 1 java

Java新手.不清楚这段代码:

ParseQuery query = new ParseQuery("GameScore");
query.getInBackground("xWMyZ4YEGZ", new GetCallback() {
  public void done(ParseObject object, ParseException e) {
    if (e == null) {
      // object will be your game score
    } else {
      // something went wrong
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

new GetCallback() {....},它是实例化GetCallback类的实例还是定义Getcallback类的子类或两者?

这是Java在C/Objective-C和Ruby的块中执行匿名函数的方式吗?

Jon*_*eet 7

它正在做两件事.它声明了一个匿名内部类(您将在编译的输出中看到相应的.class文件)并创建它的新实例.

Java没有办法创建一个匿名函数(从Java 7开始) - 这是尽可能接近它.