首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java接口和Python的区别?

Java接口和Python的区别?
EN

Stack Overflow用户
提问于 2017-02-09 17:33:59
回答 1查看 781关注 0票数 2

我一直在阅读Python-Mixin,并逐渐了解它为类添加了一些特性(方法)。类似地,Java-Interfaces还为类提供方法。

唯一的区别,我可以看到,Java-interfaces是抽象的方法和Python-Mixin携带实现。

还有什么不同吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-09 17:52:13

嗯,“抽象方法”部分是很重要的。

Java是强类型的。通过在类型定义中指定接口,可以使用它们构造新类型的签名。在类型定义之后,您已经承诺这个新类型(或某些子类)最终将实现在您指定的各种接口中定义的所有函数。

因此,接口并不真正向类添加任何方法,因为它没有提供方法实现。它只是增加了这个类的签名/承诺。

然而,Python不是强类型的。类型的“签名”并不重要,因为它只是在运行时检查要调用的方法是否实际存在。

因此,在Python中,mixin实际上是要向类添加方法和功能。它与类型签名一点关系都没有。

总结如下:

  • 不添加->接口函数,扩展签名。
  • Python ->函数被添加,签名并不重要。
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42143261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档