Java 这被认为是内联匿名方法吗?

Java 这被认为是内联匿名方法吗?,java,Java,new Command()的主体看起来像一个内联方法 这叫什么,我想完全理解。这是一个匿名的内部类。您正在创建一个从命令类派生的类,或者只是实现命令接口。在这种情况下,您只重写了一个方法,但是您可以重写更多的方法——以及有额外的字段等等 Java(目前)没有任何与C#匿名方法相当的东西,如果你是这么想的话。匿名内部类可能是最接近它的东西。它是一个匿名内部类。 在这种情况下,它很可能是一个命令接口或抽象类的实现。它是一个 命令是以前定义的接口或类,因此这相当于: public void inse

new Command()的主体看起来像一个内联方法

这叫什么,我想完全理解。

这是一个匿名的内部类。您正在创建一个从
命令
类派生的类,或者只是实现
命令
接口。在这种情况下,您只重写了一个方法,但是您可以重写更多的方法——以及有额外的字段等等


Java(目前)没有任何与C#匿名方法相当的东西,如果你是这么想的话。匿名内部类可能是最接近它的东西。

它是一个匿名内部类。 在这种情况下,它很可能是一个命令接口或抽象类的实现。

它是一个

命令
是以前定义的接口或类,因此这相当于:

 public void insert(final String key, final String value) throws Exception {
    execute(new Command(){
      public Void execute(final Keyspace ks) throws Exception {
        ks.insert(key, createColumnPath(COLUMN_NAME), bytes(value));
        return null;
      }
    });
  }

如上所述,它是一个匿名的内部类。您通常将此方法视为实现单个方法接口的快速方法

Groovy和JavaScript等语言使用闭包来实现这类功能。

“Java(目前)没有任何与C#匿名方法、Ruby匿名方法、Python匿名方法、Lisp匿名方法、JavaScript匿名方法或。。。
public void insert(final String key, final String value) throws Exception {
    class MyCommand implements Command { // or "extends Command"
        public Void execute(final Keyspace ks) throws Exception { 
            ks.insert(key, createColumnPath(COLUMN_NAME), bytes(value)); 
            return null; 
        } 
    }
    execute(new MyCommand());
}