我需要使用关键字Object作为返回类型,在单个方法中返回不同类的对象

public class ObjectFactory {
public static Object assignObject(String type) {

    if(type.equalsIgnoreCase("abc")){
         return new abcClass();
    } else if(type.equalsIgnoreCase("def")) {
         return new defClass();
    } else if(type.equalsIgnoreCase("ghi")) {
         return new ghiClass();
    }
    return null;
    }
}


在另一堂课中,我试图将对象

public class xyz{
public void get(){
    Object obj=(abcClass)ObjectFactory.assignObject("abc");
}
}


如何使用obj对象访问abcClass中的方法?

最佳答案

如果assignObject返回的实例不是abcClass,则当前代码将引发异常,因此您可以将obj的类型更改为absClass

public void get(){
    abcClass obj=(abcClass)ObjectFactory.assignObject("abc");
}

10-06 06:39