我们有什么优点让私人内部类最终成功?

时间:2016-05-02 16:30:38

标签: java class final

我今天看了一些代码。我发现了这样的事情:

public class SomeClass
{
    ...
    final private class SomeHandler implements Blahblah
    {
        ...
    }
}

由于没有人能够从外部访问SomeHandler,我无法理解为什么我们应该final。有没有人有不同的见解?

1 个答案:

答案 0 :(得分:2)

将某个类声明为final有两个相关但不同的目的。

  1. 它告诉编译器“不允许扩展此类”。这主要是为了防止错误。

  2. 它告诉读者“不要担心这个课程可能会延长”。这是为了帮助理解。

  3. private final内部类的情况下,我们可以假设一个人编写或修改了类,并且在理解了设计之后他们就这样做了。因此,某人错误地扩展不应该扩展的类(按设计)的可能性很小。

    然而,有人在阅读需要知道的代码时,private内部类可能已被扩展,需要扫描整个Java源文件......除非已经声明了类final。< / p>

    因此final可以起到一个有用的作用......在设计清单中提高可读性。

    另一方面,您找到的示例中的final可以添加而没有任何特定意图;即它可能只是“多余”。