我一直在阅读我的Java for Dummies有关抽象类的书,它说: “当你想创建一个用作两个或更多子类的超类的泛型类型时,抽象类很有用,但超类本身并不代表实际的对象。” 你不需要继续解释抽象类,只是请解释“泛型类型”的含义,因为我对它的含义感到困惑。我对java中的泛型一无所知,至少我不认为我做... 请用简单的术语解释,谢谢:D
答案 0 :(得分:5)
在Java中,“泛型”是类型的参数。这可能听起来令人困惑,但这是一个简单的解释。如果你正在创建一个许多其他类将继承的类,你想要使它广泛而灵活。因此,您将使用“通用”类型来创建实例变量。
通用类型可以实现为:(注意菱形括号“<>”)
public abstract class TestClass<T>
关于抽象类: 在Java中,如果扩展类,则必须实现所有方法,除非您声明类 abstract 。如果声明类 abstract ,则可以通过将关键字 abstract 放在其定义前面,并使用分号跟随声明来声明方法。扩展类时,必须使用相同的返回类型和相同的参数来实现该方法。
对象和抽象类: 您无法创建抽象类的实例,因为并非所有方法都是开发的。在创建实例时,将调用方法并且程序将开始运行,但是如果您尝试创建Abstract类的实例,它将调用没有代码的方法,Java会混淆,并且程序将失败。 / p>
使用泛型创建实例这可能比您的问题更深入一些,但我想我会提到如何创建泛型类的实例。
请注意钻石大括号中的参数必须是一个对象。对于基本类型,您可以使用Int,Double,Float(使用大写首字母),Java将“自动将对象”自动“封装”为基本类型。
ClassName<String> obj = new ClassName<>();