热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

Kotlin中的open和override方法之间的区别?

如何解决《Kotlin中的open和override方法之间的区别?》经验,为你挑选了1个好方法。

是的,这两个open关键字在您的示例中都是必需的


您必须区分使用open类和函数.

类:open如果要从类继承,则需要在类上使用关键字.默认情况下,所有类都是final继承的,不能继承.

功能:在功能上,您需要open能够覆盖它.默认情况下,所有功能都是final,您无法覆盖它们.


编辑:因为我在评论中看到了一些混乱.

pokemzok:我有一个内部抽象类,我可以继承而没有任何问题.我也可以随意覆盖它抽象方法而不将它们声明为开放

抽象类是继承的,因为您无法实例化它们.事实上,他们不仅仅是open默认,他们不能final放在第一位.final并且abstract不兼容.这同样适用于abstract方法,它们必须被重写!



1> Willi Mentze..:

是的,这两个open关键字在您的示例中都是必需的


您必须区分使用open类和函数.

类:open如果要从类继承,则需要在类上使用关键字.默认情况下,所有类都是final继承的,不能继承.

功能:在功能上,您需要open能够覆盖它.默认情况下,所有功能都是final,您无法覆盖它们.


编辑:因为我在评论中看到了一些混乱.

pokemzok:我有一个内部抽象类,我可以继承而没有任何问题.我也可以随意覆盖它抽象方法而不将它们声明为开放

抽象类是继承的,因为您无法实例化它们.事实上,他们不仅仅是open默认,他们不能final放在第一位.final并且abstract不兼容.这同样适用于abstract方法,它们必须被重写!


推荐阅读
author-avatar
碧落无双2502879687
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有