我应该如何调用具有返回类的新实例的抽象方法的接口?
例如,我有一个Foo类,它execute是一个Parser实现类的实例Runnable,它由一个实现ParserXXX接口的类创建.(不是直接创建Parser实例,为了允许使用自定义Parser)我该ParserXXX怎么称呼?
@FunctionalInterface // >Java 8
interface ParserXXX {
Runnable get(Data data);
}
class Parser implements Runnable {
...
}
class Foo {
private ParserXXX;
public Foo() {
xxx = new ParserXXX() { // anonymous class
@Override
public Runnable get(Data data) {
return new Parser(data);
}
}
xxx = Parser::new; // using method reference(>Java 8)
xxx = data -> new Parser(data); // using lambda …Run Code Online (Sandbox Code Playgroud) C标准(ANSI [C89],C99,C11)中不允许嵌套函数(块作用域中的函数声明).
但我无法在C标准中找到它.
编辑:
为什么函数定义不能在函数定义中(复合语句)?