Java 根据当前API实现接口

Java 根据当前API实现接口,java,interface,Java,Interface,如何仅在某些情况下实现接口 比方说,我们有intsdkversion,只有当其高于10时,接口TenPlusInterface才存在 对于方法中的代码,我可以检查它并说: if (sdkVersion > 10) { ClassForApiTen cls = new ClassForApiTen(); ... } 但是,如果我的sdkVersion10或更好,谢谢!(我还学到了一些关于受保护前缀的知识,我以前从未用过;-))

如何仅在某些情况下实现接口

比方说,我们有
intsdkversion
,只有当其高于
10
时,接口
TenPlusInterface
才存在

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

if (sdkVersion > 10) {
    ClassForApiTen cls = new ClassForApiTen();
    ...
}
但是,如果我的
sdkVersion<10
,我就不能执行
公共类MyClass实现TenPlusInterface

那么,只有在已定义的情况下,才建议使用什么方法来实现接口呢?

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

public class MyClass { ... }

public class TenPlusMyClass extends MyClass implements TenPlusInterface {}

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

创建一个抽象类。根据条件,即>10或更好,谢谢!(我还学到了一些关于受保护前缀的知识,我以前从未用过;-))