如何仅在某些情况下实现界面?
让我们说,我们int sdkVersion
并且只有当10
接口TenPlusInterface
高于if (sdkVersion > 10) {
ClassForApiTen cls = new ClassForApiTen();
...
}
时才会存在。
对于方法中的代码,我可以检查并说:
sdkVersion < 10
但如果我public class MyClass implements TenPlusInterface
,我就无法{{1}}。
那么,只有在定义的情况下才能建议实现接口的方法是什么?
答案 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,您可以匿名写内部类。