根据当前API实现接口

时间:2014-12-14 17:13:44

标签: java interface

如何仅在某些情况下实现界面?

让我们说,我们int sdkVersion并且只有当10接口TenPlusInterface高于if (sdkVersion > 10) { ClassForApiTen cls = new ClassForApiTen(); ... } 时才会存在。

对于方法中的代码,我可以检查并说:

sdkVersion < 10

但如果我public class MyClass implements TenPlusInterface,我就无法{{1}}。 那么,只有在定义的情况下才能建议实现接口的方法是什么?

2 个答案:

答案 0 :(得分:2)

拥有类的子类,并让该子类实现接口。

public class MyClass { ... }

public class TenPlusMyClass extends MyClass implements TenPlusInterface {}

public class MyClassFactory {
     MyClass getMyClass(int sdkVersion) { 
        return sdkVersion > 10 ? new TenPlusMyClass() : new MyClass();
     }
}

答案 1 :(得分:0)

创建一个抽象类。并且基于条件I.e。> 10或<10,您可以匿名写内部类。