8]http://docs.oracle.com/javase/specs/jls/se8/html/jls-9.html#jls-9.8関数インターフェースは、ただ一つの抽象メソッド(オブジェクトから継承するメソッドはさておいて)を持ったインターフェース一つの関数契約を表現するこの「一つ」のメソッドは、複数の抽象メソッドを、スーパーインターフェースから継承されたオーバーライド同等のシグネチャをともなって形成する。この例では、継承されたメソッドは論理的に一つのメソッドを表現する。run();}以下は、関数インターフェースではない。Objectのメンバーであってはいけない。obj);}しかしながら、上記を継承したサブインターフェースは関数インターフェースとなる。宣言された抽象メソッドは、Objectのメンバーではない。一つの抽象メソッドをもち、かつObjectのメソッドではないため、関数インターフェースとなる。o2);}次のインターフェースは関数インターフェースではない。一つの抽象メソッドをもち、それはObjectのメンバーではないが、Objectのメンバーではない、2つのpublicな抽象メソッドをもつ。Perl5.008008。