通过接口进行Java上传和下传

 爱lovely壮壮_366 发布于 2023-02-06 11:08

这可能是一个愚蠢的问题,但我需要知道.我有一个界面作为

import com.amazonaws.services.dynamodbv2.AmazonDynamoDBAsync;

public interface AsyncClient extends AmazonDynamoDBAsync{

}

我有一个ClientCreator类,它有该方法

import com.company.clients.AsyncClient;
public class ClientCreator {
        public static AsyncClient getAsyncClient() throws FileNotFoundException, IllegalArgumentException, IOException{
            AmazonDynamoDBAsync client = new AmazonDynamoDBAsyncClient(getCredentials());
            client.setRegion(getRegion());
            return (AsyncClient)client;
        }
        .
        .
        .

这里AmazonDynamoDBAsyncClient实现了AmazonDynamoDBAsync,AsyncClient扩展了AmazonDynamoDBAsync,但是这段代码无法正常工作并抛出

com.amazonaws.services.dynamodbv2.AmazonDynamoDBAsyncClient无法强制转换为com.company.clients.AsyncClient

为什么呢?

1 个回答
  • 基本上你有这样的层次结构:

             AmazonDynamoDBAsync 
                      ^
                      |
         -----------------------------
         |                           |
    AmazonDynamoDBAsyncClient   AsyncClient 
    

    而你正试图将AmazonDynamoDBAsyncClient实例转换为AsyncClient,这是不可能的.那些是兄弟姐妹.这样说:"苹果"和"香蕉"都是"水果",但"苹果"不是"香蕉".

    2023-02-06 11:10 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有