首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >接口和类转换过程中的java类异常

接口和类转换过程中的java类异常
EN

Stack Overflow用户
提问于 2012-06-01 06:28:50
回答 1查看 394关注 0票数 0

在转换某些类(比如MarketplaceBasicProductList )和接口IMarketplaceProductList类( -why )之间时,我得到了IMarketplaceProductList

代码语言:javascript
运行
复制
public static IMarketplaceProductList createMarketplaceBasicProductList(Table basicInfoTable) {
        ArrayList list = new ArrayList();
        if (basicInfoTable != null) {
            for (int i = 1; i <= basicInfoTable.getRowCount(); i++) {
                IMarketplaceBasicProduct product = createMarketplaceBasicProduct(basicInfoTable, i);
                list.add(product);
            }
        }
        return (IMarketplaceProductList) new MarketplaceBasicProductList(list);
    }

其他详情如下:

1.

代码语言:javascript
运行
复制
 public interface IMarketplaceProductList extends Serializable {

    public int getProductCount();
    public IMarketplaceBasicProduct getProductMKPInfo(int index);

}

  1. public class MarketplaceBasicProductList extends AbstractProductList { ..............
  2. public abstract class AbstractProductList implements IProductList { .............

我需要在这里添加实现IMarketplaceProductList吗?

  1. public interface IMarketplaceBasicProduct extends Serializable { MarketplaceBasicProduct函数的...get方法..

5.public class MarketplaceBasicProduct extends BasicProduct implements IMarketplaceBasicProduct, IGenericProductFields {

  1. public class BasicProduct extends AbstractProduct {

7.public abstract class AbstractProduct extends AbstractGenericProduct implements IProduct {

我需要在这里添加实现IMarketplaceBasicProduct吗?

EN

回答 1

Stack Overflow用户

发布于 2012-06-01 06:34:06

您将获得ClassCastException,因为您的类MarketplaceBasicProductList 不是 IMarketplaceProductList

代码语言:javascript
运行
复制
MarketplaceBasicProductList extends AbstractProductList implements IMarketplaceProductList 

从您的结构来看,AbstractProductList对于每种类型的产品列表都是通用的,IMarketplaceProductList将包含MarketplaceBasicProductList的特定方法,因此只有MarketplaceBasicProductList才会实现IMarketplaceProductList

此外,我认为IMarketplaceProductList将在IProductList之上提供特性,因此IMarketplaceProductList的定义应该如下:

代码语言:javascript
运行
复制
public interface IMarketplaceProductList extends IProductList {

}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10845441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档