これはおそらくばかげた質問ですが、知る必要があります。私は次のようなインターフェースを持っています
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 にキャストできない
しかし、なぜですか?