在 Java 的情况下,“抽象”和“通用”代码之间有什么区别?两者的意思相同吗?
最佳答案
抽象和泛型在 Java 语法和语义上是完全不同的东西。
abstract是一个关键字,表示一个类没有完整的实现,所以不能实例化。
例子:
abstract class MyClass {
public abstract void myMethod();
}
MyClass 包含方法定义'public abstract void myMethod()',但没有指定实现——实现必须由子类提供,通常称为具体子类,所以抽象类定义了一个接口(interface),也许有一些实现细节。
泛型的使用表明类的各个方面都可以参数化。我发现最容易理解的示例是在 Java Collections API 中。
例如List<String>
可以读作“字符串类型的对象列表”。 List<Integer>
是同一个 List 接口(interface),但只接受 Integer 类型的对象。
在 Collections API 中,它为集合提供类型安全,否则需要样板来检查类型并进行适当的转换。
关于java - 抽象代码和通用代码之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1219893/