是的,这两个open
关键字在您的示例中都是必需的
您必须区分使用open
类和函数.
类:open
如果要从类继承,则需要在类上使用关键字.默认情况下,所有类都是final
继承的,不能继承.
功能:在功能上,您需要open
能够覆盖它.默认情况下,所有功能都是final
,您无法覆盖它们.
编辑:因为我在评论中看到了一些混乱.
pokemzok:我有一个内部抽象类,我可以继承而没有任何问题.我也可以随意覆盖它抽象方法而不将它们声明为开放
抽象类是继承的,因为您无法实例化它们.事实上,他们不仅仅是open
默认,他们不能final
放在第一位.final
并且abstract
不兼容.这同样适用于abstract
方法,它们必须被重写!
是的,这两个open
关键字在您的示例中都是必需的
您必须区分使用open
类和函数.
类:open
如果要从类继承,则需要在类上使用关键字.默认情况下,所有类都是final
继承的,不能继承.
功能:在功能上,您需要open
能够覆盖它.默认情况下,所有功能都是final
,您无法覆盖它们.
编辑:因为我在评论中看到了一些混乱.
pokemzok:我有一个内部抽象类,我可以继承而没有任何问题.我也可以随意覆盖它抽象方法而不将它们声明为开放
抽象类是继承的,因为您无法实例化它们.事实上,他们不仅仅是open
默认,他们不能final
放在第一位.final
并且abstract
不兼容.这同样适用于abstract
方法,它们必须被重写!