有一种用Java模拟钻石问题的方法
有办法用 Java 模拟钻石问题吗?带接口?
谢谢, 塞尔索
Have a way to simulate the diamond problem with Java ? With interfaces ?
Thanks,
Celso
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
有办法用 Java 模拟钻石问题吗?带接口?
谢谢, 塞尔索
Have a way to simulate the diamond problem with Java ? With interfaces ?
Thanks,
Celso
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
在 Java 中你永远不会遇到钻石问题。它的设计不具有多重继承。
当超级基类中有多个具有可靠定义的数据成员和函数成员时,就会出现钻石问题。但是,在 Java 中,您只能实现
接口
;除了纯虚拟方法和静态常量成员(在 C++ 上下文中)之外,它永远不能包含任何其他内容。In Java you can never have a diamond problem. It's designed not to have multiple inheritance.
Diamond problem comes when you have multiple data members and function member with solid definition in the super base class. However, in Java you can only have
interface
getting implemented; which never can contain anything other than purevirtual
methods andstatic const
members (in C++ context).Java 通过强制类的单继承并允许接口的多重继承来避免钻石问题。
当界面形成菱形时,这并不是真正的问题。
您可以获得 Javadoc 钻石问题,但我想这不是您想要的。
Java avoids the diamond problem by enforcing single-inheritance for classes and allowing multiple inheritance for interfaces.
It's not really a problem when interfaces form a diamond.
You can get a Javadoc diamond problem, but I guess that's not what you're looking for.