如何在Java中定义单个类并动态变更类成员?
在Java中用单个类实现动态成员类型的方案
完全可以通过泛型来实现用单个类适配不同的成员类型,无需定义两个几乎重复的类。
具体实现代码
定义带泛型参数的MyClass,把可变成员的类型用泛型占位符替代:
public class MyClass<T> { String str1; String str2; T dynamicMember; // 用泛型T替代原有的Myclass1/Myclass2类型 }
实际使用示例
- 需要
Myclass1类型成员时:
MyClass<Myclass1> instance1 = new MyClass<>(); instance1.dynamicMember = new Myclass1();
- 需要
Myclass2类型成员时:
MyClass<Myclass2> instance2 = new MyClass<>(); instance2.dynamicMember = new Myclass2();
进阶约束(可选)
如果Myclass1和Myclass2有共同的父类或接口,还可以给泛型添加边界约束,确保类型安全:
// 假设Myclass1和Myclass2都实现了CommonInterface接口 public class MyClass<T extends CommonInterface> { String str1; String str2; T dynamicMember; }
内容的提问来源于stack exchange,提问作者user4202236
相关产品推荐
相关产品推荐

