倾斜类内部

时间:2014-04-30 05:26:58

标签: java oop

我有一个实现两个接口的类。其中一个接口在第二方jar中定义,另一个接口在我的代码中直接定义。

现在我需要将一个对象传递给第三方,该第三方只实现我在代码中定义的接口。我怀疑的是,如果这只能将我的对象转发到我定义的接口或甚至是向下转换,这个第三方仍然需要第二方库,因为我传递的类仍在内部保留对第二方jar中定义的接口的引用

为了可视化场景,一些代码......

我的代码中的接口:

public interface MyInterface {}

secondparty.jar中的接口:

public interface SecondpartyInterface {}

我的对象:

public MyObject implements MyInterface, SecondpartyInterface {}

现在第三方调用我的代码中的方法应该是这样的:

private MyObject object;
public MyInterface getObject() {
    return (MyInterface)object;
}   

第三方的my.jar只包含MyInterface。这项工作或第三方是否还需要第二方的罐子?

感谢。

2 个答案:

答案 0 :(得分:0)

当您作为jar导出时,如果您已经包含来自第二方罐子的类,则第三方将不需要您的secon party jar或者是!这将是必需的

here是一个示例,显示如何使用eclipse中包含的外部库创建jar

答案 1 :(得分:0)

嗯,这取决于一件事,无论原始代码是否存在于运行时。如果您正在运行一个通用的主程序(比如一些加载插件的API),那么它可能不是问题。否则,您可以对库进行着色,以便将它们加载到您的jar文件中,然后依赖项将遮挡您或从您的实例运行。