java - 菱形运算符和动态类型中的附加类型

标签 java generics interface

我问过自己,如果静态类型中没有给出动态类型的所有类型,菱形运算符是否也有效。

看代码:如果我需要 C 类型用于“Class”中的方法,但我使用“Interface”作为静态类型并使用菱形运算符,那会不会有问题?

interface Interface<A, B> {
...
}

class Class<A, B, C> implements Interface<A, B> {
...
}

Interface<A, B> test = new Class<>();

最佳答案

此代码可以正常工作,您可以毫无问题地实例化 Class。如果我假设泛型 C 将通过构造函数(或其他方式)初始化,您可以在 Interface 方法中使用该引用,该方法在 Class 中重写

关于java - 菱形运算符和动态类型中的附加类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56688632/

相关文章:

java - 从给定 vector 创建矩阵

java - java中如何识别类中的不变量?

运行时的 C# 泛型和类型安全

c++ - 简单抽象数据类型链表

Java - 接口(interface)、方法需要返回一些东西吗?

node.js - 从不同的包实现接口(interface)(从其他模块回调)

java - Amazon Web 服务 AWS : how to host java app, 分配自定义域,自定义域名无法正常工作

java - 在一个方法中处理多个异常

java - 要使用嵌套的通用集合或自定义中间类?

asp.net-mvc - 有没有更好的方法在asp.net-mvc中进行IOC?