我一直在阅读我的《Java for Dummies》有关抽象类的书,书中写道: “当您想要创建一个用作两个或多个子类的父类(super class)的通用类型,但父类(super class)本身并不代表实际对象时,抽象类非常有用。” 您不需要继续解释抽象类,只需解释“通用类型”的含义,因为我对其含义感到困惑。我对java中的泛型一无所知,至少我不认为我知道...... 请用简单的术语解释一下,谢谢:D
最佳答案
在 Java 中,“泛型”是类型的参数。这可能听起来令人困惑,但这里有一个简单的解释。如果您正在创建一个许多其他类将从中继承的类,那么您希望使其广泛且灵活。因此,您可以使用“通用”类型来创建实例变量。
泛型类型可以实现为:(注意菱形括号“<>”)
public abstract class TestClass<T>
关于抽象类: 在 Java 中,如果扩展一个类,则必须实现所有方法,除非您声明该类抽象。如果声明类abstract,则可以通过将关键字abstract放在其定义前面并在声明后面加上分号来声明方法。当您扩展该类时,您必须使用相同的返回类型和相同的参数来实现该方法。
对象和抽象类: 您无法创建抽象类的实例,因为并非所有方法都已开发。创建实例时,方法将被调用,程序将开始运行,但是如果您尝试创建抽象类的实例,它将调用没有代码的方法,Java 会感到困惑,并且程序将失败。
使用泛型创建实例这可能比您的问题更深入一些,但我想我会提到如何创建泛型类的实例。
请注意,菱形大括号中的参数必须是一个对象。对于原始类型,您可以只使用 Int、Double、Float(首字母大写),Java 会将对象“自动装箱”为原始类型。
ClassName<String> obj = new ClassName<>();
关于java - 泛型类型是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22437870/