代码之家  ›  专栏  ›  技术社区  ›  Jeroen

“final”关键字是什么意思?

  •  5
  • Jeroen  · 技术社区  · 10 年前

    关于这个 documentation page of interfaces on dlang.org ,它表示接口必须实现最终方法。最后的方法是什么?其他页面上似乎没有提到该关键字。

    this page 我找到了,但它似乎是古代D1的遗物。

    final函数仅仅是返回不可变结果的函数吗?关键词是否仍然存在?

    3 回复  |  直到 10 年前
        1
  •  11
  •   Vladimir Panteleev    10 年前

    从…起 Virtual Functions :

    函数标记为 final 不能在派生类中重写,除非它们也是 private .

        2
  •  4
  •   Adam D. Ruppe    10 年前

    final函数是不能在子类中重写的函数(与虚函数相反)。

    所有模板都是最终的,因此接口中的任何模板都必须具有函数体,否则会出现链接器错误。

        3
  •  4
  •   ratchet freak    10 年前

    除了其他答案所说的:

    接口可以指定最终函数并直接实现它

    interface Foo{
        int bar();
    
        final int doublefoobar(){
            return bar()*2;
        }
    }