What is the difference between final Class and Class?

前端 未结 7 2206
名媛妹妹
名媛妹妹 2020-12-25 09:40

What is the difference between final Class and Class?

final class A {

}

class B {    

}
7条回答
  •  天命终不由人
    2020-12-25 10:29

    Hoping I can boil down the other answers into this SSCCE that helped me:

              open class Open {}     // Anyone can see, anything can subclass
    public         class Normal {}   // Anyone can see, internal can subclass
    internal       class Internal {} // Internal can see, internal can subclass
    public   final class Final {}    // Anyone can see, nothing can subclass
    

    In your project/module:

    class SubOpen:     Open {}     // OK
    class SubNormal:   Normal {}   // OK
    class SubInternal: Internal {} // OK
    class SubFinal:    Final {}    // Error: Can't subclass
    

    In some other project/module:

    class SubOpen:     Open {}     // OK
    class SubNormal:   Normal {}   // Error: Can't subclass
    class SubInternal: Internal {} // Error: `Internal` type not found
    class SubFinal:    Final {}    // Error: Can't subclass
    

提交回复
热议问题