Java 如何为if语句中包含T的类创建对象

Java 如何为if语句中包含T的类创建对象,java,Java,我希望基于以下条件在对象上创建: SemMeasure semObj=新的SemMeasure(项目); semObj.calcDif(); semObj.measureDiv(); semObj.writeData(); .... // 基于semObj的其他工作 if语句是: if(类型==“套件”){ SemMeasure semObj=新的SemMeasure(项目); semObj.calcDif(); semObj.measureDiv(); semObj.writeData();

我希望基于以下条件在对象上创建:

SemMeasure semObj=新的SemMeasure(项目);
semObj.calcDif();
semObj.measureDiv();
semObj.writeData();
.... // 基于semObj的其他工作
if语句是:

if(类型==“套件”){
SemMeasure semObj=新的SemMeasure(项目);
semObj.calcDif();
semObj.measureDiv();
semObj.writeData();
..//基于semObj的其他事项
}else if(类型==“案例”){
SemMeasure semObj=新的SemMeasure(items);//这里是差异
semObj.calcDif();
semObj.measureDiv();
semObj.writeData();
..//基于semObj的其他事项
}
区别仅在于T的类型是
SuiteClass
CaseClass


有没有办法不使用这两个条件重复代码,只进行if更改类类型(将
SuiteClass
更改为
CaseClass
或反之亦然)?

您只需使用一些方法创建一个接口,并在多个类中实现它。那么您不需要
if
语句,只需调用这些类的方法即可:

公共类测试{
公共接口SuiteCase{
void calcDif();
}
公共静态类套件实现SuiteCase{
@凌驾
public void calcDif(){
System.out.println(“套件”);
}
}
公共静态类Case实现SuiteCase{
@凌驾
public void calcDif(){
System.out.println(“案例”);
}
}
公共静态void main(字符串[]args){
SuiteCase suiteCase1=新套件();
SuiteCase suiteCase2=新箱子();
suiteCase1.calcDif();//套件
suiteCase2.calcDif();//大小写
}
}