[英]Use classes from a library's library?
假设我有一个LibImplementationA
,其中包含LibInterfaces
。
LibImplementationA
包含LibInterfaces
的java接口的实现。
我的应用程序使用的接口LibInterfaces
,并从实现LibImplementationA
。
我在我的应用程序中包括了LibImplementationA
,我认为我可以在我的应用程序代码中使用LibInterfaces
的接口。 但是我做不到!
为什么呢
要使我的应用正常工作,我必须包含LibImplementationA
和 LibInterfaces
。
因此, LibInterfaces
是重复的(在LibImplementationA
和我的应用程序中),这似乎真的很糟糕(在LibInterfaces
更新的情况下)
最后但并非最不重要的一点是,在我的应用程序中,我希望能够从使用LibImplementationA
切换到LibImplementationB
或LibImplementationX
(这就是该应用程序使用LibInterfaces
的原因)。
我真正的问题是要复杂得多,但是我需要一个聪明的主意,以避免可能的LibInterfaces
重复! 我正在使用带有gradle的Android Studio。
编辑:为了更好地理解, LibInterfaces
包含通信接口(如sendMessage()
, messageReceived()
方法一样简单sendMessage()
,并且LibImplementationX
使用SIP,XMPP,WebSocket和其他方法实现这些方法。
“为什么”的答案LibInterfaces
可以被保护/默认作用域接口,并且不能在该特定程序包之外实现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.